Renamed FdbTuple.Descendants(..) to FdbTuple.ToRange(..)

- Added one overload that takes an IFdbTuple
- Removed DescendantsAndSelf(...)
Cleaned up csproj, enabled XML documentation build on Release
Added new FoundationDB.Samples assembly for samples an tutorials

- First attempt at porting the Class Scheduling sample from Python
Do not 'prefer 32-bit' because it won't work
Breaking Change 1 of 3: Removed "db.Attempt" subclass, and moved the transactional methods to the db instance itself

- All "db.Attempt.FooAsync(...)" are now "db.FooAsync(...)"
- Simplified the FdbOperationContext object a bit
Breaking Change 2 of 3: Renamed Change() to WriteAsync() and ChangeAsync() to ReadWriteAsync()

- Change() renamed to WriteAsync() because it only take Set or Clear methods (non async)
- ChangeAsync() renamed to ReadWriteAsync() because it could also do Get, GetKey or GetRange (async)
- ReadAsync() is unchanged
Moved ClearRangeAsync(db, subspace) where it belongs, and made it retry on errors
Added/fixed a few XML comments
Disallow moving a directory to a subdirectory of itself
Added an override on FdbOperationContext that takes a non-async Action<...>
Breaking Change 3 of 3: CancellationTokens considered harmful.

- Completely rewritten the cancellation story by removing most optional CancellationToken from methods on FdbTransaction
- Added the IFdbTransactional interface that expose the ReadAsync, WriteAsync and ReadWriteAsync retry methods.
- FdbTransaction instances managed a single CancellationToken that is used internall by all async methods (GetXXX, Commit, OnError, ...)
- App code can get this the token when calling async code by doing "await SomeFileOrSocketIOMethod(..., tr.Token)"
- The Token can be set either by calling BeginTransaction(...) (by default uses the db's token) or by passing it to the transactional methods (ReadAsync, WriteAsync, ReadWriteAsync)
- FdbOperationContext is now embedded inside the transaction instance and can be obtained via "tr.Context"
- Directory Layer: Fixed bug in MoveAsync()
Small cleanup after last refactoring
Merge pull request #11 from ajbeamon/master

Updated Readme.md (remove beta warning)
Removed old async LINQ code that was never finished.

- Select and Where overrides that pass in the index are not easy to do right now, maybe later
Another batch of XML comments
Added UnpackSlingle<T> to efficiently decode tuples that have only one element

- Faster and safer than UnpackLast<T> because it checks that there is only one element
- Update a few layers that were using UnpackLast instead of UnpackSingle
Breaking Change 4 of 3: Renamed 'IFdbReadTransaction' to 'IFdbReadOnlyTransaction', and cleand up the IFdbXXXTransactional interfaces

- IFdbReadOnlyTransaction only expose methods that can read from the DB, and IFdbReadOnlyTransactional only expose ReadAsync(...) methods
- IFdbTransaction can either write -only, or read-write. IFdbTransactional exposes WriteAsync(...) and ReadWriteAsync(...) methods
- updated a few XML Comments
Folded the IFdbXXXTransactional implementation back into the main FdbDatabase.cs file
FdbTransaction now also implement IFdbTransactional and IFdbReadOnlyTransactional

- Current implementation will call the lambda inline, without any retry logic.
- This emulates the way Transactionals are implemented in the Ruby binding
Exposed the Context property on the IFdbReadOnlyTransaction interface