Sprint 1

Implemented all the functions. The class now determines if moves are
valid, and can perform a move.