Begin rewrite of Battle.java, BattleSystemServer, and BattleGui.

Rewrite is based on an new idea on organizing the information in battles.
This is currently very unstable and will not even compile yet.