Finished the Engine class.

All methods are implemented.
Almost the whole game logic is done.
The code is verified by StyleCop.
TODO:
Some minor fixes for IOptional case.
Verify the correct input.