[Boot] Use sudo to start the fppd_start script for an audio bug

Long-standing bug where external audio wouldn't work after boot.  A
manual re-start of fppd from the UI was required.

This is because the init scripts have a different environment than
apache and therefore run our scripts differently.

When init started us, HOME is set to '/', but from apache, sudo is used
and HOME is set to '/root' where we store our .asoundrc to over-ride the
default audio output for alsa.

By running the fppd_start script with SUDO from fpp_boot, we end up with
an environment provided by SUDO which includes /root as our HOME
environment variable, thereby making audio work as expected upon boot.
[xml/json] Improve variable checking for logging.

Instead of simply saying a variable was checked and found to be unset in
our logs, we now print the variable in question as well as the function,
instead of guessing the command.
[fppLCD] Allow LCD script to be run in the foreground

Create a stub "foreground" class to not change the use of "with" and
other execution elements.

Ugly, but works for debugging.  Simply execute the fppdLCD.py script
with "fg" as the only argument and it will not daemonize to aid in
debugging.
[fppLCD] Fix crash when no playlist scheduled

When no playlist was scheduled, the DisplayStatusIdle function was
crashing trying to parse data that wasn't there.

Now we print a useful message.
[fppLCD] Toggle LCD on click instead of reboot
[fppLCD] Cleanup LCD start script while debugging