Merge pull request #22 from ajbeamon/master

FdbDirectorySubspace MoveAsync and TryMoveAsync implementations
Merge pull request #23 from ajbeamon/master

Add MoveToAsync and TryMoveToAsync to IFdbDirectory.
Tweaked logic that detects a crash of the network thread (which can occur under low memory conditions)

- if the thread fails because we asked it to, does not log any error
- if the thread fails but the computer is shutting down, this is probably okay.
- if it wasn't supposed to fail, log an error, and in DEBUG builds, call Environment.FailFast(...)
- not sure what we should do in RELEASE builds ... ?
MemoryDB: continued work on snapshot file format

- reduced page size to 1K
- added level flags to even the size to 16 bytes
- pad bytes changes according to the type of chunk
- Jump Table is locked to exactly one page at the end of the file (easier to read)
MemoryDB: less verbose logging in DEBUG build
Fix : Test Debugger.IsAttached before calling Debugger.Break();
Fixed SliceWriter.WriteFixed16(...) advancing 4 bytes instead of 2 bytes.
MemoryDB: tweaks to allow the empty key
MemoryDB: continued implementation for the snapshot file reader

- Switched to unsigned integers for offsets and sizes
- Fixed Win32SnapshotFile so that we can actually read from it
- Fixed field size errors when reading or writing
- Implemented reading JumpTables and Levels
- Added LevelWriter helper class that allows streaming data into a level
- Reader should probably be redsigned to use and USliceReader over a memory mapped file