Created an invitation model

Hooked up the relationships between user, game, and invitations
Implemented invite behaviour

Users can issue invitations when creating or editing games.
Invited players can be viewed on the game page.
Players can view invitations on their profile page.
Pending invitations now deals with invitations

Previously these methods returned the games or the users associated with
the pending invitation. This way will make it easier to do things like
accept / reject invites
Invitations be accepted/rejected from profile page

Once accepted or rejected, an invitation will be deleted.

No tests for this - lazy