Add .SetComment(string) method to MongoCursor and MongoCursor<TDocument>

This allows people to attach comments to cursors, which will show up in
the system.profile collection during profiling.
Add .WithComment() method to the LINQ Provider.

This allows you to send the $comment meta operator with a LINQ query,
so it wil be recorded in the system.profile collection if profiling is
turned on and the query is slow.

Usage:

var result = collection.AsQueryable()
                       .Where(o => o.Field == 2)
		       .WithComment("Hi there")
		       .ToList();