Fix compilation-to-binary performance regression

The performance regression was clearly visible with the QuickCheck
tests, which took about 45 times as long to run as previously,
due to an in-retrospect-not-so-cleverly programmed iteration over a
binary. Lots of garbage was created and collected it seems.

The regression appeared in 6eb1488ae09048a9b662c2ed1f768bf5a6e0d23f
Reformat to fit 80 columns
Document the different parser post-processing steps
Implement name resolution, searching outer scopes

The name resolution was a never very well implemented, and only worked
for most cases, but not when name resolution needed to search outer
scopes to find a name.

This is more or less a complete rewrite and cleanup/refactorisation of
the name resolution process.

Thanks to Heiner Bunjes for drawing attention to it.
Anchor .gitignore paths
Add ability to compile several files from the cmdline
Add rebar xref check configuration