Added class __repr__s, remove fix hacky __str__ in Board class
Rename variables, add utils file for shared stuff
Pieces are now objects
Update rest of code to handle Pieces as objects (mainly the board printout)
Boards now hold NoneType objects for empty squares; (0,0) is now a1 (like Cartesian Geometry)