Add install:addon command

Add an install:addon command that installs an addon with NPM and then runs the
included generator of the same name it if it provides one.

- [x] Add install:addon command
- [x] Test Project.prototype.reloadAddons
- [x] Get acceptance test passing
- [x] Parse out addon name for blueprint. (`ember install:addon jakecraige/ember-cli-qunit` tries to run the blueprint with that name, not `ember-cli-qunit`.) [npm-package-arg](https://github.com/npm/npm-package-arg)
- [x] Handle initial blueprint not being equivalent to package name - [ember-cli-fxos](https://github.com/mozilla/ember-cli-fxos#creating-your-manifest-file)

It uses the name of the project in the `package.json` as the default blueprint name. If you need to override this, you can set an `ember-addon: defaultBlueprint: 'other-blueprint'` in there. 

It even supports arguments to the blueprint. So with my cordova addon it needs extra args and this works with that. `ember install:addon ember-cli-cordova com.myapp.app` runs the blueprint with the extra args

closes #2801 
future cleanup idea: `this.project.findAddonByName`