Introduces a special server mode for when the build fails.

Instead of just exiting on a failed load this code puts the server in a wait mode. The only way to get out of this mode is to either exit or send a ``reboot`` command. For all other commands the server will just continue in the wait mode.
Comments are welcome as there might be something I have missed in terms of error handling etc.
are there any possible messages here? the _ case will hide any "match not exhaustive" warnings if we add messages.