Merge pull request #27 from yenatch/master

spit GLOBAL defs for labels into globals.asm instead of inline
rename config.py -> configuration.py

This should help cut down on the confusion between the "config" module
and the "config" variable that everyone likes to use. The config
variable should refer to an instance of Config, whereas before it was
being shared as both the name of the module and the name of an instance.

"configuration" is always the module. "config" should always be a Config
instance.

TODO: avoid passing around a Config instance everywhere.
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.
allow (some) json files in the repo

This ignores only "labels.json", which so far has been the only
problematic json file. This is a file generated by gbz80disasm.

Other json files might be necessary in the future, and it's okay to let
them in.
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