Add method to terminate the install process

To integrate yeoman in external tools like atom-shell, yeoman should provide a mechanism to terminate yeoman childs process like `npm install` and/or `bower install`. This PR brings in this feature. The API is simple, just call `terminateInstall()` at some point. This will terminate the current installation process and lock any further processes. To reactivate it you must execute `run()` again.

```js
var gen = env.run('polymer');
gen.on('install:terminated', function() {
  console.log('Installation was terminated');
});
gen.installDependencies();
gen.terminateInstall();
```
I'm not an unix specialist but generally speaking aren't SIGTERM/SIGINT better than SIGKILL ?

- http://en.wikipedia.org/wiki/Unix_signal#POSIX_signals
- http://unix.stackexchange.com/questions/8916/when-should-i-not-kill-9-a-process