AsyncLinq: added Distinct(), MinAsync(), MaxAsync(), ElementAtAsync(), and ElementAtOrDefaultAsync()
AsyncLinq: added some [NotNull] and cleaned up spaces
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
Maybe<T>: more changes to keep the original error callstack untouched, and somes fixed for building on .NET 4.0
Removed IFdbTransactional overrides on test layers

- IFdbTransactional don't compose very well with each other
- It is better to only expose methods that take IFdb[ReadOnly]Transaction arguments, and use the various retry loops (db.ReadWriteAsync, etc...) to compose one or more layer calls inside the same transaction.
Renamed IFdbTransactional into IFdbRetryable and remove uneeded overrides in the various experimental layers

- See Issue #45 for rationale being the change
- fixed equality check in Optional<T> for value types
Merge remote-tracking branch 'origin/master'
Manuel merge between with master branch

- add Last<R>() on IFdbTuple