Adding watchers to OracleClient class to determine:

1. Tbe moment a new leader is elected
2. When there is no leader.
Fixing formatting
Fixing type in comment
Adding more tests and fixes to verify robustness of the Oracle failover
Fixes #41. OOM exception from bad input causing too large a byte buffer to be allocated.
Adding proper synchronization to the OracleClient so that currentLeader can be updated in a thread listening for updates to the leadership ZNode.

Adding check for leadship change after a timestamp is fetched.
Attempting a better way of closing a thrift client session to an OracleServer.