Tweak return values
FIXME on the handling of expressions in eval
Add the license and some more docs
Add docs and tweak license formatting
The emitter needs its settings
Mes 'o changes

I managed to complect whitespace changes with significant code changes
so this commit is a bunch of garbage.
Major rework to eval

 - Remove def tracking
 - Rework configuration values accordingly
 - Pull related FIXMEs

After this change I'll do def detection in a separate analysis pass over
the eval'd forms. Figuring out how to deal with code in analyzed form is
probably gonna be most of today but it can't be helped.
Rework eval again

 - Create a module level separation of read forms
 - Create a modules set

The goal with this change is that it paves the way for doing compilation
either on a by module basis or on a whole program basis as it provides
more structure than the simple "seq of forms" AST which really only
enables by form emission of the whole program.
Remove env injection capabilities
Implement a def collection & helpers

 - Implement a def collection pass
 - Implement appropriate oxcart.pattern helpers

TODO: implement the lambda lifting and def lifting which this pass
depends on for sanity and correctness.