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 would be very surprised if this turns out to matter.

In fact this implementation possibly beats the existing one, because it passes a list instead of an object, and does linear scans for every check.