a basic battle handling framework
simplify the number of battle-related classes
fix some hook calls in Battle.run
autoplayer.bootstrap to call skip_intro

There are situations other than just testing where making a bootstrapped
game state is a useful ability.
fix a call to vba.shutdown in bootstrap()
attempt to start a trainer battle