Updated ReversiGame play loop

- Updated some variable names to be less obscure.
-- Player's 'inGame' variable renamed to 'isPlaying' to denote that
they are not an observer.
- Fixed bug in isWithinBounds in Position where column would sometimes
be null due to the value not being in the map. Column and Row are now
checked for null values.
- Updated Reversi playGame() function.
-- Separate many of the functions to become more clear.
-- Game now better checks for a player's ability to make moves.
-- Available moves are now displayed to the player.
-- Player can now disable display.
- Updated DisplayController to filter users who have display on/off.
- Updated PlayerController to retrieve observers and playing.