Added ability to rename features

I'm not completely satisfied with this, but wanted to get it open sooner rather than later. I'll leave a few inline comments. The branch obviously won't build until we do something with `IvoryT` (I really wish you could re-target PRs in GH)

/cc @etorreborre @markhibberd @raronson 
> I don't think this one holds it weight. I know there is a lot of code that does this (RecreateConfig etc...) but I don't think it is better than just passing the argument.

Fair enough. I figured you might say that, but wanted to experiment with what it will look like. Happy to pass parameters, just makes it a little more verbose is all.