Automated npm/browserify/cjs loader

This closes #2283. 

It extends the ember-cli addon API in two ways:
 - I've added a new `'js'` type of `postprocessTree`. This was suggested by @rwjblue and it nicely solves this particular problem, while being generally useful for other addons.
 - addons can use `app.importWhitelistFilters` to register filters that determine which module names should be ignored by the es6 concatenator.

With these extensions, my new [ember-browserify](https://github.com/ef4/ember-browserify) addon can do the actual work of finding & packaging npm modules.

Remaining issues before this is ready to merge:
 - [ ] Get a PR into broccoli-es6-concatenator (https://github.com/ef4/broccoli-es6-concatenator/compare/joliss:master...master)

I am slightly concerned that this will end up in a costly N:M loop. In-practice it may not actually matter, but likely something to keep an eye on when running against a large app and a few filters.