Add class renames to UpgradeShell

A few classes have moved around or were renamed. Add an ugprade shell
task for those. I also did some internal refactoring to reduce some
duplication and make code shorter.
Add missing path argument to the various tasks.
Fix mistakes.
Merge pull request #1560 from markstory/3.0-upgrade-shell-improvement

3.0 upgrade shell improvement