AbaloneGameRevised: 2nd commit.
1. Finish all previous homeworks except for some unit tests and mock
tests.
2. Modify program, and make it suitable for the emulator.