MovePiece() --> Move(), adds get_possible_moves()

I switched the MovePiece() method, which was a Game class method, to a
Piece class method.  Now I should be able to do
"piece_x.Move(dest_square)".

I also added the get_possible_moves() method to the Piece class.  I
still can't call it though b/c I need to fill out the MoveAllowed()
method I call from within this method.
finishes MoveAllowed(), starts Legal[Piece]Move()

This commit finished a first draft of MoveAllowed(), which basically
just checks if the player already has a piece there, and if he doesn't,
it route to more-specific functions that will check if the particular
piece to be moved can move to that space.
finishes 1st draft of LegalKingMove()

This is the first time I have a piece moving around semi-properly!  The
king can now only move one space at a time.  This commit does NOT take
into account whether the king is moving into check, or whether the king
is attempting to castle.
1st draft: LegalPawn/Knight/Rook/Bishop/QueenMove

The pawns can now only move one square at a time within their own file.
The Knight moves perfectly.  The Rook/Bishop are limited to the correct
dimensions but there's no check for whether there are pieces in the way.