Update mixer volume when fppd starts. Issue #65.
When parameters are extracted from command line or setting file, the function setVolume is called.
In setVolume, command "amixer set PCM xx%" is performed to apply the volume.
In fppxml.php, send to fpp the real value (0-100), and not the value for amixer (50 to 100).
Add missing headers inclusion in settings.c
Add missing include files in .c files, add missing prototype in .h and activate the warning for implicit functions.
Remove all the relative path in the .h #include and add the folder paths in makefile.
Merge pull request #67 from ihbar/FixInclude

Add missing include files in .c files, add missing prototype in .h
Fix comilation on non-Pi systems

Move the -I include path and -Wimplicit flag to a common CFLAGS
option to fix compilation on non-Pi systems as well as enable
implicit include warnings when compiling on those systems.
Make some args const

Make the args passed to FileExists() and DirectoryExists() const.
Merge pull request #66 from ihbar/SetVolumeAtStart

Update mixer volume when fppd starts. Issue #65.
Use sanitized value when setting the volume in setVolume()
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.
Update stage binaries and strip binaries during "make release"
Fix UI Authentication setup.

This is a quick fix to the UI authentication setup to restore
functionality lost with the move to /opt/fpp.  We should look at
moving these files out of the git clone directory somehow, but
that's left for another night.

Also add .htaccess and .htpasswd to .gitignore.
Merge branch 'cpinkham' into stage
Add initial plugin support

Plugin design notes:

* New configuration option for web UI pluginDirectory
  (Default of /opt/fpp/plugins)

* Menu will search plugin directory for plugins to include.
  - To add a UI item, an include file will need to be present
      o status_menu.inc - List elements to add to the status menu
	  o content_menu.inc - List elements to add to the content menu
	  o output_menu.inc - List elements to add to the output menu
	  o help_menu.inc - List elements to add to the help menu
  - New basic file plugin.php will take parameters to load plugin
    pages with same formatting.  Instead of using a plugin page directly
	which may or may not be in the docroot, and also so plugins don't
	have to be updated with UI changes, instead this page just loads the
	content from pages provided from the plugin
	  o plugin parameter - Which plugin to load a page from
	  o page parameter - Which page from the plugin to load (If none
        given, it will attempt to load "plugin.php" from the top level
		of the plugin installation path)

* Remove rds.php which wasn't linked anywhere, but was going to be the
  landing spot for RDS work before the plugin system was discussed.

(cherry picked from commit 946fbf8e9ec34fdfc6261ae999565669443339cb)

Conflicts:
	.gitignore
	www/config.php
	www/css/fpp.css
	www/menu.inc
Quick whip-up of a plugin install/uninstall system

* pluginData.inc.php - Contains the list of plugins and appropriate
  data.  This is for developers to add their plugins to for details on
  plugin installation, home page, bug URL, etc.

* Scripts to install/uninstall plugins

* plugins.php - Page to display the list of plugins listed in
  pluginData.inc.php for users to install/uninstall

* No update check/support available yet.  Will need to implement
  something that uninstall/re-installs.  Probably easier in case the
  hooks change for plugins than trying to maintain an "update" system
  similar to the main FPP update system.

Icons released with CC license downloaded from here:
http://www.gentleface.com/free_icon_set.html

(cherry picked from commit 6232bd14770686e8458079c4e691a4b4930171f3)

Conflicts:
	www/css/fpp.css
	www/fppxml.php
Force add a file to the plugins directory so it is created.  Without it, the directory isn't there and plugins fail to install.
(cherry picked from commit ce807b679fdb39c08ad5dfb01defaac872b12930)