Now supporting changing filtered replicaton source

The binlog player needs to know the server KeyRange
to update the blp_checkpoint table properly.

Adding a test that swaps out the replica we're getting
data from, and checks the data still flows.
Small fixes from Ric's code review.
Merge branch 'master' into resharding
Using key.ParseKeyRangeParts everywhere.
Merge branch 'resharding'