Add strongly typed explain method to LINQ queries.

Adds strongly typed explain method to LinqToMongo explain methods. Addresses JIRA issue: C# DriverCSHARP-920.

I have added one new method (with two overrides) to LinqToMongo.cs. These return a new object graph of strongly typed objects representing the explain response document.

I have added several unit tests for these methods and I have added as much documentation as I was able to find on the website related to the explain response.

I'm happy to make tweaks if necessary.