Possibly decoupled IncrementalRedstoneSimulator from the rest of the server

Do Not Merge.
I want to actually write a few tests to check this is properly decoupled before merging.