Refactor into new classes

Simplify logic of guess checker and move into an guess_checker class

Make user feedback on guess more meaningful

Add better test coverage