General cleanup:
 * Stop doing _private member reacharound; use accessors instead
 * PEP8 cleanup
 * Unused variable elimination
More PEP8 preening
Rearrange code to factor out Board class.  Also snip some annoying verbosity.
class comments
Factor class naming into strategy and default it via reflection.