A bit of refactoring in FdbTransaction before decoupling the native client API
Miscellaneous (typos, comments, ...)
Added more test when resolving key selectors
Added an IFdbCluster for custom implementation of clusters
Decouple the native fdb_c.dll implementation from the FdbTransaction/FdbDatabase classes [WiP]

- Added IFdbDatabaseHandler and IFdbTransactionHandler that have the core K/V store API
- FdbDatabase and FdbTransaction are wrappers that deal with all the logic (param chekcing, managing state, cancellations, ...)
- Simplify creating alternative implementation of the core API, without having to duplicate all the logic in FdbTransaction.
- Things may be broken !
Also decoupled FdbCluster implementation

- Added IFdbClusterHandler interface and FdbNativeCluster class
Made FdbCluster constructor public
Fixed missing Dispose() implementation on FdbNativeDatabase
Added missing 'ownsDatabase' parameter to the public ctor for FdbDatabasePartition
Optimized FdbConverters type resolution by adding a custom type pair comparer

- the default EqualityComparer<T> for KeyValuePair<Type, Type> has terrible performances and uses reflection !