implement a postBuild hook in the builder addons can use to run arbitrary code after each build
Remove dev-deps from runtime deps.

I do not think the following should be dependencies in our `package.json`
as they are used for the development of Ember CLI itself, but not used by
consuming applications.
Merge pull request #1217 from rjackson/reduce-runtime-deps

Remove dev-deps from runtime deps.
Merge pull request #1215 from jakecraige/feature/addon_build_hooks

Add addon.postBuild hook
Add addon.postprocessTree.

This hook allows any addon to hook into the final stage of the `toTree`
process. Making things like `broccoli-uglify` and `broccoli-asset-rev` able
to be addons and not need to live in the core of EmberCLI.

Also:

* Allows additional trees to be passed to `app.toTree`. Creating
  additional trees in the application `Brocfile.js` and merging them
  with the result of `toTree` is pretty common. Unfortunately, this
  means that any additional assets you have added will not be available
  for the post processing in addons. For example, any assets you add
  this way will never be fingerprinted.
* As the addon API develops it is odd that `included` and `treeFor` are
  required to be implemented since many plugins will never interact with
  the `EmberApp` stuff (for commands, preprocessors, middlewares,
  blueprints (soon), etc). This PR removes the errors from being thrown.
* Adds `broccoli-asset-rev` as an application dependency for newly
  blueprinted apps.