Reorganization and subclassing

Finished (?) separating functions out into their own files and redefined
combatants and pendingAttacks as subclasses of Array in order to
facilitate the process. Most of the functions having to do with either
of those directly are now methods thereof, which seems to make sense.