Fix typo in Scala symbols: prefered => preferred
Read preference support for sharded clusters

- add $readPreference field to query documents in order to pass read preference option of each query to mongos
- (tag-sets are not yet supported)
Fix NodeSet.pick: use mongos node if available and avoid PrimaryUnavailableException in case of SecondaryPreferred
Merge pull request #227 from skirino/master

Read preference support for sharded cluster