move addonCommand to a fixture to reuse it
add addon commands to help and jshint fix
pass project into lookupCommand when running cli command
update changelog
fix tests, style update
log warning when addon tries to override a core command
verify dependency package.json path exists before requiring it
Fix new command not running from cli since pkg was undefined
Group help commands output by addon
add eachAddonCommand method to Project to simplify looping over addonCommands when it's done
Merge pull request #1196 from jakecraige/feature/addon_commands

Feature: Addons add commands to the CLI
Do not watch the same directory more than once.
Merge pull request #1212 from rjackson/do-not-attempt-to-watch-the-same-dir

Do not watch the same directory more than once.
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.
Merge pull request #1214 from rjackson/allow-addons-to-postprocess

Add addon.postprocessTree.
Correct Spelling Mistakes in ARCHITECTURE.md