Merge pull request #8 from dopeghoti/master

Thanks, DG, for doing this for me while ripley is down thanks to
le hurricane.
Revert README.md.

Isaac has passed and we have power back, so I can go back to running
the test instance of Giles.
Y: Add Master Y mode.

As described in "Mudcrack Y and Poly-Y," Master Y is a version of Y
where the first move is a single stone, and all subsequent moves are
two stones at once.

While as written there is no swap rule, it doesn't hurt to leave it
in, so I have.
Crossway: Fix move help.

It was originally based on Breakthrough, where you actually move pieces.
This fixes that erroneous reference.
Gonnect: Switch Black and White's win directions.

(This only applies to directional mode.)  I think consistency here
between all games with directional goals is a good thing, and more
important than who moves first; I am changing all connection games
with directional goals to be vertical for Black and horizontal for
White.
Crossway: Switch Black and White's win directions.

See previous commit for the reasoning.
Crossway: Help tweak.

The size help line wasn't aligned properly.
Major new feature: Metamorphosis.

Another connection game, this time found on igGameCenter.  I haven't yet
implemented the 'Ko fight' variation, but that's coming next, as it's a
lot easier to do than the equivalent in Go.
Metamorphosis: Add ko fight mode.

This new option to Metamorphosis implements "ko fight" mode as described
on igGameCenter's page on the game.  Ko fight mode definitely seems to be
more interesting on smaller boards, and will perhaps become the default.
README: Add reference to IRC.

Now that we have an IRC channel, we may as well point people to it.
game_master: Seven games per line.

Now that the server has ten games, the line listing the games is
starting to get dangerously long.  For now we just do a newline
after every 7.  An odd number means that each line is "checkerboard"
in its coloration.

This should all be eventually replaced with more meaningful output,
but it'll do for now.
Metamorphosis: Set proper ko variables.

I was setting some in the wrong place.  This fixes that.
game: New utility functions send_pre, tell_pre.

These functions send to the channel and tell a player (respectively)
with the appropriate prefixes.

Considering how many billions of times I use these idioms in a new
game, it was about time that they had functions that did the work
for me.
game: Switch to using tell_pre and send_pre.

Figured the best place to start is the base game class.
game: send_pre() -> bc_pre().

It's a better name, more indicative of what it actually does.
game: Remove extraneous spaces.

Some extra spaces snuck in after commas.  No one would ever notice but
me, but... I noticed.
trick: Add new sorted_hand() function.

Unlike the generic Hand sort, this one understands the sorting you want
to do with trick-taking games (trumps first, then the other suits in
whatever arbitrary order you like).  Thus, a useful utility function for
a trick-taking game; thus, it being in trick.py.
Hex, Y: Remove unnecessary double-split().

When getting the primary in handle(), I did a double-split() rather than
using the bits we already had managed to break out.
playing_card: Fix card_to_str() in LONG mode.

This was untested in actual code, until I actually started working on
a card game.
playing_card: Handle null cards in _to_str().

Sometimes you want to pass nonexistent cards in.  For the long form,
this was already handled (repr(None) is "None"), but for the short
form, this broke explosively.  Make it not do that.