Added coordinate to Piece type to keep a state inside the class. Introduced restrictions for setting those coordinates for consistency between Position/Field. The Piece's coordinate is only supposed to be updated from the Position.

Removed copying Positions for now as it seems too costly and we don't have a need for it (yet).

Cleaned up Piece's constructors, added additional documentation.