Support read preferences in URI parser.

This will parse and add read preference options from the uri parser and
add them to the connection options when asking for them. This makes the
assumption that we must be in a replica set to set the options, and will
override the slaveOk flag if it is also present.

The fix for RUBY-541 will change this slightly to assume it can be set
for replica sets and sharded clients.

[ RUBY-547 ]