Uses config API instead of bower.json

This swaps out all the references to `this.cpui.paths` to use `this.generator.get('path')`. We're also setting up a default config so that if any of the keys (or the entire `.yo-rc.json` file is missing), the defaults will get injected instead. 

- [x] If I create anything with an already existing module, it exits as soon as I've named the module. I haven't figured out the cause of this one yet.
I see that point, but the jist of all Yeoman generators is that your function will always be called with `this` equal to the current scope. To be honest, it took me a few minutes to figure out what's going on here.