Better query logging capabilities - implementation

First implementation for #151 - Better query logging capabilities

* normal callback logging is still possible
* added QueryLogger interface
* added QueryLogger call in LoggableDatabase, LoggableCollection and LoggableCursor
* added EchoQueryLogger and ChainLogger sample implementations