Support different slave_ok options

Summary:
Route queries to serving or offline secondaries depending on the
argument to slave_ok.

Test Plan:
In dbshell, did a query with slave_ok = False, True, 'offline', and
'invalid' and PDBed through code to confirm read_preference and tag_sets
were set properly. Got appropriate ValueError for 'invalid'

Reviewers: david, josh, jack

Maniphest Tasks: T7096

Differential Revision: http://infra1.corp.contextlogic.com/D11457