Added a TradeAgent

Added a TradeAgent focused on making logical trades and using all its mana every turn.
Added a basic agent registry.  Closes #51.
Updated contributors
TradeAgent will use hero power, smarter with buffs

Squashed commit of the following:

commit d7407ff8bf79d0e894aa61caa16e38d94eea979a
Author: Mike Harris <mharris717@gmail.com>
Date:   Thu Sep 25 13:01:34 2014 -0400

    Less braindead buff/battlecry behavior

commit bc79e23a519298b0937f97c74d34ebd5ec009c68
Author: Mike Harris <mharris717@gmail.com>
Date:   Thu Sep 25 11:55:32 2014 -0400

    Added Hero Power usage

commit ce4e3aba109e999140c9ffb3e16f4b502ef9be8f
Author: Mike Harris <mharris717@gmail.com>
Date:   Wed Sep 24 12:30:54 2014 -0400

    marginally less stupid buffs, only for Abusive
Switched a large number of neutral minions to the effect system.

Now all are copyable as per #29
Merge pull request #52 from mharris717/buffs

TradeAgent will use hero power, smarter with buffs
1. Modified opening file in 'deck_file()' to use with statement.
2. Modified 're.split()' to 'str.splitlines()' because of EOF problem.
3. Added checking the number of cards in a deck.
Added tests for MindSpike and MindShatter.
Modified tests for MindSpike and MindShatter.
Merge pull request #54 from littmus/master

Modified run_games.py and text_ruuner.py, Added Tests
More specificity for contributors
Made all Warrior cards copyable and serializable as per #29
Added @littmuss to the contributors list.
Fixed the spelling of @littmus's name
Added a test for violet teacher and counterspell

The student should still be summoned, even if the spell is cancelled.
Reworked random number generation.

This is in preparation for upgraded replay ability,
which is tied to upcoming netplay functionality.

The ability to randomly choose between options was added, along with specifying what those options are

The replay will analyze those options, and record which option was chosen more directly than just a number in a list.  Thus, systems which use a different ordering for their minions and heroes will still be able to use the same replay format.
Made replay files more widely compatible

Now random choices of a character are saved with a direct
reference to the character, rather than just its index in
an arbitrary list.
Merge remote-tracking branch 'origin/master'
Added  a start action to replays.

This is redundant currently, but will be necessary for grouping random choices into the phase where they occurred.
Moved random commands into the body of the replay.

Now random numbers are associated with the action
 that most recently occurred.  This is a step on the way
 to making all replays JSON based