Initial attempt to support upgrading with larger image via web
interface:

The upgrade script first creates a new disk image matching the
boot device size, partition it, then duplicate the upgrade image
into it.  The current contents of /data and /root are also
replicated to the new disk image.

The upgrade script then creates a "trampoline" slice which contains
new kernel as well as /rescue along with a imaging script, then
set active partition to the newly created slice.

The system then reboots and upgrade script takes over control.
It first imports the volume the new disk image is stored on,
then copy the image over the boot device (now that we do not
have any mounts on the boot device), then initiate a database
upgrade.

Caveat: encrypted volume is not yet supported at this time.