Issue 2425: Don't reload initialization files when processing multiple files
This significantly speeds up processing of multiple files per session,
but has some more potential for bleedover between files.
Bleedover can occur when data structures set up by init.ly (and the
loaded files) in the parser module before calling the main file are
modified in-place.
init.ly caters for the known cases: some hash tables modified by user
commands are cleared at the start of a new pass, and output
definitions are cloned rather than reused from the first load of
init.ly.