cf-upgrade

This pull request is for informational purposes only.
There are still a few details with cf-upgrade, among them finish the tests but for the most part is done.
Please review the code if you can but DO NOT MERGE this I will send a different pull request once I'm done with it.