Fixed an edge case bug in PrettyPrint()

 - case with last tuple being a string (null terminated)
 - key[0, -1] return all but last bytes, but we need all bytes
Added FdbMap.AllValuesAsSlices() to be able to do value decoding outside of the transaction
Merge branch 'master' of github.com:Doxense/foundationdb-dotnet-client
Map Layer: added optional range options
Added various Decode helpers on FdbRangeChunk

- decode all the key and/or value slices of a result page into an array of typed results
Added extensions methods to help create logged versions of databases

- db.Logged(...) return a logged database wrapper
- db.WithoutLogging(..) can strip the logging wrapper (usefull for unit tests)
- helper method in unit test will bypass logging
Added prototype of Fdb.Bulk.ExportAsync

- goal is to get data out of a database as fast as possible (out means to disk, to memory, somewhere else than the db itself)
Disable the tests on the memory handler for now (takes too much time)
Added : UnitTest GetRange.Take(0)
FdbMap ImportAsync utilisant BulkWrite
FdbMap: added more ExportAsync and ImportAsync variants
FdbMap: [BREAKING] renamed Clear(..) into Remove(..) for a single key, and added a new Clear(..) to delete everything

- map.Remove(tr, id) to remove a single entry
- map.Clear(tr) to clear ALL the entries
FdbMap: added warning in comments of map.All()

- hopefully people will not do something stupide like map.All().ToListAsync() !
Type System: cleaned up encoding/decoding of batch of keys and values

- Added versions of DecodeRange that take arrays of keyvalue pairs of slices (often the result of a GetRange)
- T=>Slice can have optimizations because we usually want to writes keys per batch
- Slice=>T should always be streamed and not buffered in memory, because it can be filtered (index merging, filtering in LINQ queries, ...)
Queue Layer: Experiments with the bulk export API
Fix for GetRange(..).Take(0) that was returning the full range

- Changed query.Limt and TargetBytes into nullable ints, with null for"no limit"
- GetRange().Take(0).ToListAsync() is optimized client side and should not issue any query to the db
Bulk Export: tweaked the overrides of ExportAsync, added AggregateAsync on FdbMap
Merge branch 'master' of github.com:Doxense/foundationdb-dotnet-client
Tuples: Added tuple.Explode()

- break a tuple of N items, into N tuples of 1 item each