payload: Add a preBootloader() step

This is necessary for the RPMOSTreePayload subclass - we need to set
up some things after storage has been retargeted, but before the
bootloader is installed.
install: Move /boot to physical root after bootloader install

This is used by the RPMOSTreePayload class - we put /boot in the
target root in order to install the bootloader, now let's undo that
before running any Payload subclasses.
Add RPMOSTreePayload

This is a new backend that uses ostree to install.  However, it's
named RPMOSTree because a future iteration will use rpm-ostree which
will support a hybrid of tree + RPM packages.