Add ProxyClassLoader with simple support for project.properties

Refs #3

We proxy the ClassLoader methods with callbacks using a deferred;
it's a bit more elegant than trying to roll the "wait until processed"
ourselves, and because it's not used frequently enough to be a
performance problem (I saw some performance hits when using
promises in all the places, unfortunately, so stuck with pure callbacks
in the AST code).