Cache dep trees by both the source path and precompiled path (eg. *.js and *.coffee).

Also support non-expanded assets depending on the mode
Fix for `//= require <some dir>` -> index.js
Change project to do any dependency lookups (via passed in resolvers) instead of only doing Sprockets directives.

Need to rename repo, clean up, fix the RequireTreeNode stuff, yadda yadda.