New Upgrade script

This new script allows us to visually notify the user of exactly what is
happening during the upgrade process, including if the upgrade failed.
The upgrade script does not attempt to fix any settings, since they
should be set correctly since B+ is already running.