added markov generator
refactor to MarkovGenerator class.

I paired with @amandapickering to refactor her markov generator into a working
state, then further refactored it into an object for general use.