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.
Rather than guessing the precise response, please exhaust the iterator as usual (`for iter.Next(&r) { ... }`) appending r.A and r.B to a slice that is uninitialized to begin with (`var results []string` and `results = append(results, r.A, r.B)`), and then compare the outcome to the expected value as you're doing below.