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.
Okay - I always like to go with convention. It sounds like Yeoman has a convention in this case, and if it's _more_ confusing to name it, then let's not name it. I'll fix that too.