Modified upgrade code to give a more specific error when unable to upgrade.
Merge pull request #541 from jakewins/better-upgrade-error

Better error when upgrade fails
Imports
Refactored all parser strings into a single trait