Truncate the result of GetKeyAsync() if it leaks outside of the database prefix

- Return '' if before the namespace prefix
- Return  \xFF if after the namesapce prefix
- Ignore the system keys (starting with \xFF)
Logging Filter: don't fire stop on the first commit, log and instrument the Snapshot commands

- Don't stop logging on the first commit because some layers may reuse the instance (via tr.Reset)
- Also log snapshot commands by wrapping the tr.Snapshot view in a logged version that will write to the parent's log
- GetTimingsReport(...) will choose a scale that will target a max wudth of 60 chars for the barchart.
- Tweaked the timestamping in the log, fixed a few culture formatting issues.
Removed the protection against reusing the same linq query twice

- It breaks some scenarios when combining and reusing index queries
- Also, the local client caches the result of some reads, so this may not be a huge issue after all
Renamed namespace "FoundationDB.Client.Filters.*" to "FoundationDB.Filters.*"
Tweaked async tests
Logging Filter: tr.Annotate(...) should work on IFdbReadOnlyTransaction
Ajout de warn as error
Added public constructor for FdbDatabasePartition to bind a DB and a DirectoryLayer together
Message Queue Layer: fixed busy key not being cleared properly in some cases
Message Queue Layer: removed LOG_SCHEDULING_IN_DB, replaced with annotations
Common Layers: very simple counter map layer that helps maintaining a set of counters in a more complex layer

- Each counter is referenced by a key under a common subspace
- Each counter is a stored in a fixed-size 64 bit signed value, in little-endian.
- Increment/Decrement/Add/Substract are atomic (don't return the value)
- ReadAsync to read the value, and may conflict
- XYZThenReadAsync = return the new value of the counter, after the update
- ReadThenXYZAsync = return the initial value of the counter, before the update
Message Queue Layer: maintain a set of global counters to help observe the state of the pool

- total number of tasks, pending tasks, busy workers, idle workers, ...
Mini cleanup in unit tests
Copy the watched key to release the underling slice buffer immediately
Unit Tests: updated JSON.NET nuget package to v5.0.8