Use dedicated class for game options

This gets rid of the need for multiple get/set functions, lets us use
@property, gives a consistent API, makes the spec for options clearer,
etc.
Update colour code handling

- Use .replace() instead of the bukkit command.
- The logger doesn't need to know the text colour.
Use PyPlugin server var instead of getServer()
Move command handling into separate func

As the only difference between most of the handling is basic arg
validating, and that should be done inside the channel method.
Add_player method is shared between games
Tidy messaging of multiple players

- No need for msg_all func, it's easier to call msg() multiple times.
- Tidier to pass chan.msg_members func to the game class, than to pass
  the members list then for the game to have its own msg_members method.
Make active_teams a property of GameLogic
Change team score methods to properties