Allow ObjectDatabase.CreateBlob() to limit the number of bytes to consume

Fixes #447

- [x] Update the `CreateBlob()` overload with the following signature:
`public virtual Blob CreateBlob(Stream stream, string hintpath = null, int? numberOfBytesToConsume = null);`
- [x] Cover the new behavior with some tests