DirectoryLayer: [WiP] reverted to the previous way of nesting a DL under a database instance

- Added IFdbDatabase.Directory property that corresponds to the "root" partition for everything under this database instance.
- class FdbDatabasePartition has been re purposed as a thin a wrapper allowing to call 'db.Directory.OpenAsync("Foo")' without specifying 'db' twice
- removed Fdb.PartitionTable.OpenRootAsync(...) that do not make sense anymore
- rewritten the unit tests to use the new API
- actual "sub" partitions are not yet implemented
Added SliceReader.ReadFixed32() and ReadFixed64() helper methods
Directory Layer: added Version check, and basic implementation for partitions (still WiP)

- check the version key of the DL when reading/writing
- look for partitions when traversing the nodes
- Breaking Change: partitions are incompatible with previous ones!