Add RuleSet

+ Add subclasses for types of pieces
Refactor Piece

+ Change constructor for Piece; deprecated Color only constructor
Upgrade piece changes RuleSet to KingRuleSet
Refactor Move

+ Deprecate move constructor; use (Piece, int) instead.
+ Add getPiece method
Refactor Board

+ Deprecate movePiece; added new method with (Move) arguments
= Change behavior of kingPiece
Update Board

= Changed Piece initialization methods to the new format.
= Changed getPieceAt to return null rather than a red colored piece
Add getLocation
Refactor Player.java

+ Added capability to create and send moves to driver without going
  through Rules (still needs to be finished though).
Fill out SingleRuleSet

SingleRuleSet now has complete logic for validating moves for Single-
type pieces and can determine if one can make a jump.
Add TODO to RuleSet

Some ideas/concerns/work added to RuleSet, concerning its behavior.
This is low priority, so this probably won't be addressed until later.
Change moveLocations behavior

moveLocations is now able to validate what moves can be made based on
the piece's vertical positioning as well as horizontal.
Fix RuleSet incorrect functionality

It has been determined that part of the functionality that the
SingleRuleSet and KingRuleSet classes have implemented is incorrect,
and needs to be fixed.
Update formatting of Piece

Updated comments to be more helpful.
Removed some unnecessary comments.
Deprecate SinglePiece and KingPiece

Piece is no longer used as an abstract base class. Since it also keeps 
track of its type internally, inheriting subclasses are no longer 
necessary to differentiate themselves.
Fix formatting

- Removed unused imports
Refactor RuleSet; Fix SingleRuleSet and KingRuleSet

RuleSet has been changed to hold another method necessary for its child
implementations; likewise, its original methods have now been defined 
as a template for its own behavior. In addition, its children should 
now have correct implementations of the moveLocations functions.
Fix Piece Initialization

Board now allocates Piece as it did initially, but doesn't create 
SinglePiece instances. Since our goal was to eliminate type-checking
wherever possible, and that Piece uses a strategy pattern approach to
how it moves and its type, we don't need either SinglePiece or KingPiece
anymore.
Deprecate Rules

Please update all uses of the Rules class to find its way to the Piece
instead.
Merge attempt #1

Conflicts:
	Code/Board.java
	Code/KingPiece.java
	Code/Move.java
	Code/Piece.java
	Code/Rules.java
	Code/SinglePiece.java
Fix conflicts in Rules.java following merge.