Set the initial volume in startup script.

Add a 'getSetting' helper function to scripts/common

Set the initial volume at the very top of the startup script to
make sure that we don't blare the speakers or transmitter when we
announce the IP addresses when we boot.
common script enhancements

Make sure our PATH is sane.
Add BINDIR and CFGDIR env vars.
Update getSetting() function to check if setting file exists before
  trying to search it.
Fix bug in writing of settings file.

When the settings file was empty, a typo in a variable name
would cause us to write the name of the file inside the file
instead of the name of the setting we were trying to write.
Warn if USB flash is not mounted.

Display a warning in red at the top of every FPP page if the
USB flash drive is not mounted.
startup script enhancements

Run /home/pi/fpp/scripts/startup if we're supposed to be running
out of /home/pi/fpp.  Previously /opt/fpp/scripts/startup was always
used.

Allow Apache to start even if the USB flash drive is not mounted.
If the logs directory does not exist, meaning that this is either
the first boot or we don't have a USB flash drive mounted, then
modify the Apache config file to put its error log in /var/tmp to
allow Apache to startup until the user inserts the flash drive or
the log directory is created later in the startup script.

Create the media/config directory on the flash drive when creating
the logs directory.  Owned by pi.pi.

Chown the media/logs directory to be owned by the pi user and group.

Change the sleep interval from 20 seconds down to 5 while waiting
for the USB flash drive to be mounted if it was not inserted when
the Pi was booted.  This should let the system boot a little
quicker (sometimes) after a flash drive is inserted.
Enable Network Configuration page in the UI.

This allows users to configure the onboard ethernet and optional
wireless NICs using either static IP information or DHCP.

If the default config on the SD card in /etc/network/interfaces is
left stock (dhcp on eth0) then the SD card should still be bootable
by removing the USB flash drive even if the network config stored
on the flash drive is messed up.  The network settings stored on
the SD card are applied first at bootup, then the config saved via
FPP is applied before FPP starts.

In order for this to work for wireless, wireless support should be
enabled in /etc/network/interfaces via the following lines:

    auto wlan0

    iface wlan0 inet dhcp
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

The FPP network config uses wpa_supplicant to configure the wireless
NIC.

ALL network config is stored on the flash drive in the media/config
directory, so if you take a flash drive from one Pi and put it into
another Pi, the network settings follow the flash drive.