WIP Core client library and integration test framework.

@alainjobart @guoliang100 @sougou 
Includes -
* DatabaseContext as the primary entry point.
* Base classes that control routing and cursor creation.
* Sql builder constructs.
* Integration test framework.
* Simple end to end test for unsharded keyspace and table.
Next - 
* Examples and test for range-sharding.
* Failure/error cases.
* Examples with db operation decorators.

I feel it is better to explicitly fail if self._transaction_stack_depth < 0.
So it clearly indicates a programming error.