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 have an idea for how to do the config stuff. As I mentioned the other day, I think we can make some trade-offs about forcing the use of certain things (like always Multi*Format). I will try to sketch something concrete out today.