* Add locking around operations which change the configuration.
Avoid any potential race conditions when changing the configuration
by putting a lock around any non-GET operations.
* Add a sync before a 'reboot' operation
* Mobile layout work
* Title bar
* Test dialogs
* Login/logout
* Mobile formatting
* More space in dialogs
* Mesh page
* Deselect keyboard
* Mobile formatting
* More field changes
* Nightly build fixes.
Restarting the nightly build with many changes resulted in updates
failing to be applied on some hardware platforms. This resulted in nodes
reverting to first use state. These changes fixes those problems.
* Fix authentication
* Improve the initial nrvam setup
* More fallbacks
* Rebuild the initial setup and upgrade of a node.
This is mostly about removing duplicated effort and data, which should
make it easier to add things in the future.
* Re-setup and repair the node on each reboot.
By running this every time we reboot, we have a chance to repair problems in the configuration
automatically. We can detect changes and force a reboot only when necessary.
* Improve startup and upgrade
* Remove debug delays
* Move after telnet (for emergency access)
* Ignore ubootenv file when diffing
* Remove any problematic character being stored in our config files.
Any specific escaping needs to take place in context. This just
stops them becoming a problem.