Start v1.5.0.
Add support for multiple families/qualifiers in scanners.

Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Initial commit for ScanFilter.

This closes #51.

Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Add Viral to AUTHORS for his work on ScanFilter.

Add also my current employer.
Document ScanFilter and prevent it from being subclassed externally.
Convert the regexp key filtering mechanism to the ScanFilter.

Add an integration test to ensure this didn't break in the process.
Document how to run integration tests.
Add more scanner filters.

Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Enhance filters a bit and add integration tests.

Summary:
  - Make filter classes final.
  - Add Javadoc.
  - Add helper functions to be able to pass String objects in argument.
  - Add toString() methods.
Add a new helper function to produce better errors during tests.
Mention new scanner filters in NEWS.
Allow RPCs to fail-fast.

Add a new pair of public APIs to HBaseRpc to allow specifying
whether an RPC should fail as soon as it encounters a problem.
This is useful for applications with low-latency requirements
where retries are unnecessary anyway.

Once HBase has the ability to track a timeout per RPC this will
be less useful, but in the interim it's a very useful and small
addition.
Properly honor timestamps in DeleteRequest.

This fixes #58.

Signed-off-by: Benoit Sigoure <tsunanet@gmail.com>
Update NEWS / THANKS.
Update suasync to 1.3.2.
Properly clean up when connection fails before being opened.

This can happen when we attempt to connect to a RegionServer, and we
buffer some RPCs to send once connected, but we never successfully
connect, because of a connection timeout.

Bug reported by Viral Bajaria.
Properly report which RPC has failed in HasFailedRpcException.

Under certain failure modes, the current code would make an RPC
fail with an exception that claims that it's a `getClosestRowBefore'
RPC that failed, because the META or ROOT lookup that was required
to serve the RPC the user actually wanted to send failed.  This
complicates error handling for the user, as it's more convenient
for them to get a reference back to their own RPC so that they can
retry it if they want to.
Fix a small race condition when looking up the ROOT region.

There was a check-and-act sequence on the ZooKeeper object
without acquiring the appropriate lock, which means that
we could potentially cause a NullPointerException while
retrying to lookup ROOT.

Also move the ZooKeeper callback into a real class instead
of an anonymous class.
Merge remote-tracking branch 'upstream/master' into v1.4.1-mapr
Revert "Merge remote-tracking branch 'upstream/master' into v1.4.1-mapr"

This reverts commit d99f76623984c153124c34c80b285c6c595542f8, reversing
changes made to 14b92aa3ae742eb7bf19ecd117284df081166e34.