Change from leveldb to hyperleveldb
Fixup Java bindings
Rename C++ binding s/hyperclient/HyperClient/

Commit 6f76ac36ae78b3d41da0e5b80ae14b052b1ab442 changed the interface to be a
thin wrapper of inline functions around "struct hyperclient".  Consequently, it
was not the same type as hyperclient, but because it was the same name, it could
pass to hyperclient_* functions without issue.  Insanity!
split up the asynch discussion from atomic ops discussion.

added some text on common patterns on asynch ops.
Merge remote-tracking branch 'origin/master'

* origin/master:
  split up the asynch discussion from atomic ops discussion.