Change RouletteWheelSampler to take Map<T, Double> to reduce needed code.  Update references.
Add unit test for RouletteWheelSampler
Refactor MarkovModel into MarkovModel and MarkovProcess.  Add unit tests.  Fix bug where first state was being skipped.