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.