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.
You're flagging this method as async by fetching a callback `this.async()` but never call it. This is gonna give you some weirdness somewhere.