Make the ONIE boot state persistent for 'install' and 'update'

Problem:

The onie_boot_reason u-boot environment variable parameterizes the
boot process.  The following values are legal:

- install   : go back to initial OS provisioning state
- update    : enter ONIE self-update discovery state
- rescue    : boot into ONIE rescue mode
- uninstall : boot into ONIE OS uninstall mode

The problem was the 'install' and 'update' states were not persistent
across reboots.  Imagine entering those states and then the power goes
off.  Upon power-up the state would be lost and the system would boot
into whatever was previously configured.

The 'rescue' state is supposed to be transient, so its behaviour is
unchanged.

The 'uninstall' state is sticky.  However, the uninstall operation
will wipe out the state as part of the uninstall process.  After the
'uninstall' state completes the system enters the 'install' state.

Testing Done:

Booted systems with the onie_boot_reason variable set to the various
values above.  For 'install' and 'update' the installation process was
interrupted and a reboot performed.  The system rebooted and the
install/update state resumed.

Also verified after a successful install or update operation the
system entered the correct state.  For install the next state is to
boot into the OS.  For update the next state is whatever the previous
state was.