Store user answers as defaults

We added the ability to save user inputs as new default values.

To use this feature just set the `store` attribute to `true`.
``` js
var prompts = [{
name: 'authorName',
message: 'Author\'s Name',
store: true
}];
```
When the user enters his name (eg.: `octocat`), the generator will return the name as default answer next time.

All prompt types of [Inquirer](https://github.com/SBoudrias/Inquirer.js) are supported.

We use Yeoman's [storage api](http://yeoman.github.io/generator/Storage.html) to save the values.
The values will be stored in a `settings.json` which is located in the root of the generator.

You can see a working example in the [generator-node-gulp](https://github.com/youngmountain/generator-node-gulp/tree/forked-generator).
It'd be better (more explicit) if this function returned the Storage instance and if the `settings` attribute was assigned inside the constructor method. (so a rename like `_getSettingsStorage()`)

```js
this.settings = this._getSettingsStorage();
```

If you can also fix the `_setStorage` method, that'd be great.