Replace replicateM with replicateM_, suggested by HLint
Rewrite the simulate function to split make bits reusable
Make simulate do the correct amount of repititions
Change the simulation to print out the messages and return the state
Make todoPass sort so that the initial patch is considered as being relevant for testing, only relevant when it first starts
Add a test we do the plausible things first