Fixed typo
Fixed serialization of Uuid passed as objects
Moved FdbKeyRange.Descendants() and DescendantsAndSelf() to the FdbTuple static clas
Also use Iterator streaming mode for doing FirstOrDefault()/SingleOrDefault() on range queries

- If there is a Where(..) clause in the LINQ query, we may need to read more than one value from the db anyway.
Minor tweaks
Removed the db.RestrictKeySpace(...) feature, because it is clunky and redundant with GlobalSpace / DirectoryLayer

- it is not clear it the range bounds should be included or not
- you can do the same thing using the global key space, or subspaces
- it slows down key validation (called for all Get/GetKey/GetRange methods) for not a lot of added value
- it could be added back some day if it gets handled natively by the C client API.