move AsmLine into crystalparts/asmline.py
move "import crystal" in labels.py until needed

Otherwise there's a circular import. This circular import is going away
once crystal.py is fixed up.
remove global from load_asm2

Why is there even a second method in the first place?
move load_asm2 next to load_asm
move is_valid_address into addresses.py
remove a global from how_many_until
split OldTextScript out of crystal.py

This creates a new file called old_text_script.py with that huge class.

Does this mean that I wrote this a second time when I wrote TextScript ?
try to fix old_text_script.py with an import

There are a few more missing imports to get this to work. On the other
hand, it may not be valuable enough to bother fixing.
don't override the object type/variable
remove an unused import from integration tests
move find_labels_without_addresses into labels.py
move old parsers from 'crystal' into crystalparts/
remove globals from some map group parsers
don't use the old header parsing method
convert all_map_headers from a global
knock out some trainer group globals
one preprocessor macro needs trainer_group_maximum
pretty_print_trainer_id_constants to trainers.py
run_main -> main
pass around all_movements (not a global)