KUDU-1380. Fix retry for BUSY on non-FT scans

This cleans up the code paths for error handling in Scan RPCs to make it much
easier to follow and eliminate duplicated code. In the process, it fixes a bug
where we would incorrectly re-open a tablet upon receiving SERVER_TOO_BUSY
errors. The tablet reopening behavior would result in the scanner rewinding to
the beginning of the tablet and yielding the same rows that had already
previously been returned to the user.

The test modification increases the number of rows to be scanned in the fault
tolerance test, and also adds an assertion that the number of rows returned
matches the number inserted. This would fail reliably without the bug fix.

Change-Id: I048d3aa2a163143d1637ae87281ed91f0fc5ac65
Reviewed-on: http://gerrit.cloudera.org:8080/2654
Reviewed-by: Adar Dembo <adar@cloudera.com>
Tested-by: Kudu Jenkins
(cherry picked from commit fd556b2fd2a4e4cf044843ab251fa3855d3e3a13)
Reviewed-on: http://gerrit.cloudera.org:8080/2710
Reviewed-by: Todd Lipcon <todd@apache.org>
4 files changed