Ships will only be created by boards

just like Tiles
Added GameRepository interface

Also added GameYamlRepository which is an implementation of the
interface. Allowing Game objects to be saved to .yml files.
Added InvitationManager and Invitation

Also added InvitationException.
The InvitationManager is a singleton class. It's also observable.
The Invitation class uses a Runnable to automatically cancel itself,
after the cancelDelay. Invitations can be sent/accepted/denied using the
manager.