Add error module

Currently contains server errors.
Raise game errors for message parsing errors

When expected error happens, the application should handle it instead of
failing with a traceback.
Make common a package
Add client joining and improve error handling

Client is started now with a name argument, and join the server using
this name. Game server keeps now players dictionary and send it to
clients so everyone knows when a player joins and can update the player
sstatus.

Currently a player does not keep any game data; we should add a Player
class to keep game data such as location, number of lifes, score etc.

Server returns now errors for expected client errors.
Display player name in the game window
Merge pull request #33 from nirs/join

Improve error handling and add client joining