Fixed bug in active_player calculation + other cleanups.
Also
* Added docstrings to many classes and methods.
* Added NameMixin, breaking off .name portion of ID_CmpMixin.
* Removed unused contains_territory methods.
* _check_short_names comparison now case insensitive to match
territory_by_name.
* Deck gains options num_wilds and type_names.
* Deck gains method shuffle.
* Deck and Hand scoring and production generalized.
* Many Player methods renamed (losing "phase_").
* Many Player methods gain log option, since the player might want to
know what's been going on.
* Player methods phase_attack and phase fortify combined to form
attack_and_fortify. The idea is to let the player make as many
decisions as they would like to in one fell swoop, and attacking
and fortifying are very similar.
* Engine gains game_over method for easier subclassing.
* Engine deal method more flexible, now single player. Also takes
over player hand manipulation from Player.draw (formerly
phase_draw). The idea is to have Engine do all possible Player
manipulation; Player methods are just for making decisions and
notification.
* test function adjusted to work with
python -c 'import risk.base as b; b.test()'