Truncate the stack trace elements for all of the exceptions that were
thrown.
I'll finish up the stack trace cleaning leater
Completely separated EnvironmentClassLoader, Environment, and the
runtime code directory into more sane locations
Migrated the NestedClass management from Environment to a separate class
which also keeps track of the SourceCode each NestedClass come from (for
debugging purposes later).

CodeRepository was made thread-safe because at some point down the road
I might decide to do batch compilations if I know that I'll have a lot
of classes to compile. In that case, running each compilation on
different thread would make it more efficient.
Took a look at the specification for try-with-resources. They throw the
first exception that was thrown with all of the others as suppressed. I
had the last being thrown, whoops.