5 compile/dependencies

@MatthewMueller @ianstormtaylor this is what the previous 4 PRs look like squashed. I have also added 1 more method, `compileDependencies`, which will hopefully be a place where we can run through the dependencies one last time and adjust the `*` (so we can fix that one issue) and perhaps work toward the versioning stuff we were mapping out here https://github.com/duojs/duo/issues/296.

The main thing about keeping the commits separate (like in the previous PRs) is you can see how the changes progress, whereas the final thing seems like a lot has changed since methods were renamed and such haha.

After this or the first 4 PRs get rejected/approved/merged, I can implement the pieces @MatthewMueller suggested to change:

- [x] move this out of the top to prevent performance hit `var isRelativeCSS = 'css' == entry.type && (yield relative(path));`
- [ ] refactor the `isAsset = !rsupported.test(file.type);` snippets. if we can, maybe don't even load the asset into memory as well
- [x] revert this loop before things are merged: https://github.com/duojs/duo/commit/ac14a63362f4122b23c1f9df86f0df1d0eee803b#commitcomment-7756794