ACCUMULO-1566 Lift out the implicit "3 batch" convention from ScannerIterator
into Scanner so it can be configured by the user.

The ScannerIterator previously started pre-fetching the next batch after the
previous was returned, only after three batches are returned. Clients have the
ability to know how to control this better, and, as such, we should let them.
ACCUMULO-1566 Simple unit test to ensure that values work as expected.
ACCUMULO-1566 Add in an integration-test which checks that the readahead
configuration works as intended.

By applying the SlowIterator to sleep on next(), and then sleep for the same
amount of time in the main loop over the iterator from the Scanner, we should
only have to wait once when we're in "readahead mode", but wait twice when we're
not.
ACCUMULO-1567 fixed issue with recently split tablets not being assigned
ACCUMULO-1667 add synchronous option to online and offline table
ACCUMULO-1627 Add equals() and hashCode() for Condition, ConditionalMutation; refine equals() implementation for Mutation and subclasses.

Signed-off-by: Keith Turner <kturner@apache.org>
ACCUMULO-1627 increased coverage of Condition unit test
ACCUMULO-1566 Pass down the readaheadThreshold parameter from the client to the
server so that the same limit is adhered to by the server in regards to
pipelining.

Thanks to Keith for his help here.