Implemented pawn functionality

Game now correctly checks moves for pawns. When a pawn reaches
the end of the board, it gets automatically turned into a
queen for now. Maybe later on I will implement functionality
that gives users a choice. Not a priority right now.
Implemented movement checks for all pieces.

All pieces now move properly and are hopefully bug-free.
Castling is supported by moving the rook or king onto the other.