Remove an unused variable.
Iterate over callbacks in a more robust way.

This is a remake of commit fb98a678, which I missed when porting the fixes from the "future" branch.
Make the Zone_panel in Zone_state_text a value.
Reorganize the source code into a single directory.
Change the extensions from .cpp to .cc.

It's been annoying me for over 15 years now!
Split the Attack class into its own file.

It was causing a circular dependency between some headers.