Implemented Memento design pattern

Implemented Memento design pattern for saving and restoring the game
field with commands "save" and "restore". To do this I did the
following:
- Added the classes: GameFieldMemento, GameFieldSave.
- Added Save() and Restore() methods to the GameField class.
- Added SaveCommand() and RestoreCommand() methods to the Engine.
- Made gameField in Engine class non-static.
- Added constructor overload for the class Position that takes all the
information for it to make deep-copying of the Engine’s gameField easier
(the properties are currently read-only).