Resolve and switch master from sentinel.

So I've had a first go at putting service resolution and master switching based on sentinel messages into the client. I read https://github.com/StackExchange/StackExchange.Redis/issues/22 and http://redis.io/topics/sentinel-clients before getting started. While I tried to follow Marc's advice I ran into some trouble (possibly just because I'm unfamiliar with the code base) around having multiple server types in the same ConnectionMultiplexer.
I decided instead to do it with one multiplexer for sentinel servers and another for the standard redis servers. The issues I ran into were mostly down to config of the multiplexer and that you would often want different config for the sentinels and actual redis servers. Examples of this: Password, Admin, Tie Breaking.
Also there is a single CommandMap which would need to be switched around depending on which type of server you're communicating with.
Let me know what you think. I'm happy to look at reworking this if you have some ideas.

Thanks
Cameron.