Replication manager changes

To make this work, at a minimum, the shutdownServer variable should be marked as volatile. Right now it's static and I'm not sure why that should be since for testing and other purposes we may want to run multiple replication managers. But regardless, it needs to be volatile. But in general this isn't how one is 'supposed' to shut down threads in Java land. 

Since this is a runnable (and not, for example, a server) who ever started it has a handle to the thread object. So they would expect to call interrupt ala http://stackoverflow.com/questions/6859681/better-way-to-signal-other-thread-to-stop

However I like the general idea you have here of having a start and then (please, call it) stop method. But to make that work we need a tiny bit of refactoring. We would need to create a ReplicationManager calls that one calls start on and then have that class create the thread, track the thread object and then call interrupt when stop gets called. Let's discuss.