Refactoring + More socket information

- Users now get the game setup information upon joining. They are also
notified when the game is finished.
- Added basic tests