Better design

Better design for FileIO (parsing and piece creation redone). Better
design for piece movement (extracted each type of directional movement
out to the piece class for each piece to use)