Enable building Text indexes and setting weight options

This is to support creation of the text indexes as per:
http://docs.mongodb.org/manual/release-notes/2.4/#text-indexes

I used the same pattern from `IndexKeysBuilder` to implement `IndexOptions<TDocument>` and `IndexOptionsBuilder<TDocument>` to allow specifying the text weights using plain string names or strongly-typed expressions.