Text search

Adding text indexes and score sort.

There was a comment on Sort implying the following syntax:
```go
query4 := collection.Find(nil).Sort("score:{$meta:textScore}")
```
but I think it makes more sense to be coherent with the index syntax and do:
```go
query4 := collection.Find(bson.M{"$text": bson.M{"$search": "some text"}})
                    .Select(bson.M{"score": bson.M{"$meta": "textScore"}})
                    .Sort("$score:textScore")
```
Does that make sense?

It might be missing documentation. But I want to see if this might get accepted.
That wasn't the point. Note where "bar" ends in the text key. Your logic is always appending the text index at the end, but that's not what the shell does. Maybe it doesn't matter, but there's no reason to depart from that either.