Move Node records to separate namespace. That provides constructors to all project ns.
Implement EventGeneration protocol on APersistentMap instead of IPersistentMap,
so that (e.g. CData) records won't accidentally use it.
WIP Crudely break data.xml ns apart
WIP first round of ns fixup
WIP
Finished refactoring
Insert copyright and cleanup some imports
Definline data constructors
Leiningen dev aid: add project.clj and data_readers.clj
Extract some (more or less) private namespaces, leaving data.xml to only contain API vars.

Merge branch 'refactor'