Manage destination source and add storage functionnality (fix #312)

First implementation of a storage functionality through a `.yeoman-rc.json` file. File also used to determine the root of a project (so that sub-generator works from subdir).

The idea is to get the ball rolling and determine improvement area :)

Notably, test around the storage implementation inside the `Base` generator could probably be improved (I'd like to test the storage namespace are correctly setup for hooked generator - tested it lived and it worked, but not sure how to translate these in unit test).

And I think there's some missing API to the storage API (notably `.delete()`).

Also, I've made two choices here:
1- Use JSON instead of YAML. Because it's really easier to work from JS, but mostly because I really hate their type declaration (array, boolean, etc).
2- Didn't used `configstore` as it weren't really setup to manage nested/namespaced storage and wasn't yet configurable around the config file path.

About improvement, the first one I see is to throttle the saving functionality as it is time consuming.