Document refactored mapping format.
Incremental refactor of generate_source.py to support new format.
Resolve a TODO.
Add and test mapped signal sets in new format.
Warn if we go beyond 12 signal states.
Refactor, simplify an speed up XML to JSON conversion.

It now expects the new format, as documented in the sphinx docs. It's
also now built so that you can do the conversion within Python, without
writing out to a file.
Load parents and allow custom search paths.
Load and merge XML databases.
Search for both lower and upper case hex IDs in database.
Split up code generation into multiple files and use xml if no lxml.
Build source line by line instead of printing directly for flexibility.
Draft of supporting multiple simultanous signal sets in code gen.
Add a global Configuration struct to store runtime config.
Refactor code generation to support multiple messages sets.
Make sure CONFIG is static and only imported once.
Fix up code generation for super sets.
Merge database into mapping without clobbering handlers.
Use JSON loader function whenever possible.
Resolve a few minor TODOs in code gen.
Grab config struct from a function for simpler compiling.