support for eternal games, and some refactoring
fixed a few bugs and concurrency issues
switch from synchronizedList to CopyOnWriteArrayList to decrease locking
Almost complete with eternal game
fixed eternal game