Updated api:

* connection.openDatabase -> connection.getDatabase
* collection.querybyexample and fulltextsearch now return Cursor's
* collection.newDocument now checks the collection type and returns either a document or edge.
* cursor internals changed to support creation from an existing cursor result
* cursor foreach/foreachbatch -> each/eachBatch, which also pass the current index in the overall iteration
* aqlstatement has passthrough methods toArray/toQuery/each/eachBatch that immediately executes the statement with previously bound params (using bind()) and executes the relative cursor method.