* validate collection when leasing an existing transaction
* use WITH statement
* allow implicit read collections again
* simplify collection name validation
* re-implement it
* remove dead code
* remove unused method
* apply review comments
* whoops, deleted too many methods
* fixit
* don't make index selectivity estimate requests fail inside cluster
transactions
* improve logging, and don't make transactions more robust
don't make transaction operations fail immediately if they cannot
acquire the transaction lock instantly. it is somewhat expected that
sometimes the garbage collection comes in-between and acquires locks
for a short amount of time - this should not lead to failures in
other operations on the transaction
* fix a race for transaction leases
* fix test failure
* moved functionality into shutdownExecute
* working documents rest handler
* fixed cluster tests
* Consolidating database APIs
* clang-format
* Fixing issue with user creation through db._createDatabase
* replaced and refactored api-index and index api
* fixed cluster
* renaming some files
* added user methods
* removed files intended for later
* Fixed CC build
* Fixed method signature
* Fixing shell_server, shell_client tests