More work on FdbSubspace

- added the subspace[Slice] and subspace[Tuple] helper method to create sub-subspaces
- added FdbKey.Directory (\xFE) and FdbKey.System (\xFF) singletons
- moved the Concat(prefix, ...) helpers to the FdbTuple static class
- Use subspace[FdbKey.Directory] instead of FdbTupleAlias.Directory (simpler)
- FdbSubspace.m_rawPrefix (readonly)
- renamed m_namespace to m_globalSpace in FdbDatabase
- Disallow using Slice.Nil for creating/partitionning subspaces (Slice.Empty is allowed and is a no-op)
Fixed build in Release due to renaming Namespace to GlobalSpace
Renamed .Start/.Stop into .Begin/.End

- .Start/.Stop comes from python's built-in slice object used to return pairs of keys, but all other bindings use .begin/.end
Cleaned up FdbKeyRange helper methods

- StartsWith(key), returns [ key, strinc(key) )
- FromPrefix(..) => PrefixedBy(...) and returns [ key+\0, strinc(key) )
- removed FromPrefixInclusive (replaced by StartsWith)
- added Descendants(key) that returns [ key+\0, key+\xFF ) and should be used by tuples
- added DescendantsAndSelf(key) that returns [ key, key+\xFF ) is you need to include the tuple itself
Changed the encoding of GUID to RFC 4122 (big endian), and added the Uuid helper type

- use big endian ordering for uids stored in the db, to be compatible all other bindings and languages
- System.Guid is converted to RFC 4122 when writing, and back to little endian when reading
- FoundationDB.Client.Uuid is a clone of System.Guid, but uses Big Endian.
Improved test coverage on the Slice class, cleaned up, added comments