C callbacks to C++ for wrapping SliceTransfrom
PySliceTransfrom to bridge python and c++
Make 'prefix_extractor' active
Add doce for prefix_extractor
Raise error if offset+size is too big
Depend on cython 0.20 to use the @cython.no_gc_clear decorator
Fix possible crash if snapshot and DB take part in cyclic gargabe collection

The cyclic garbage collector may choose this snappshot object to break the
cycle. In that case tp_clear will remove the reference to self.db.
So if __dealloc__ of the snapshot is called, self.db is not valid anymore
__dealloc__ is also called if __cinit__ raises, be more robust in freeing
Fore future use, prevent options beeing shared with other DB objects

For better logging I'm going to inject the rocksdb info_logger into the C++ Wrapper classes
=> The classes on the options object have a member to a DB specific logger
=> This c++ classes can only belong to a SINGLE db
=> For simplicity make this requirement also for the options object itself
Fix deadlock on shutdown by releasing the GIL during del

On delete rocksdb waits for the background thread to finish.
However the background threads needs the GIL to execute python-code
(for example comparator)
=>
* main thread has GIL
* main thread waits for background thread
* background thread tries to get GIL
which means deadlock
Get access to the dedicated logger of a DB
Better error reporting in python comparators

* Written to the rocksdb log-file
* raise an exception back to rocksdb
Get rid of the second context, not needed it is always the same
Better error reporting in python filter policy
Small code reformat
Better error reporting for a python prefix extractor
Make tests python3 ready
Better error messages