CSHARP-790: Add support for MaxTime to FindOne. Also added support for other options to FindOne like Fields, Skip and SortBy.
CSHARP-790: Optimize for the generic version of FindOneAs and only use reflection for the non-generic version.
CSHARP-790: Use server's new MaxTime failpoint to test MaxTime.
CSHARP-790: Generalize FailPoint to work with any failpoint.
CSHARP-790: Make Dispose method of FailPoint more robust.
CSHARP-790: Use FailPoint for all MaxTime tests.