Fix issue #74, the slash I missed.  I have now gone through each web
page using a configuration that doesn't have slashes in filenames to
ensure I have them all.  I hope there's no more that are missed.

I did notice a lot of code that will need to be reworked when we go for
a round of review/cleanup.

• Settings aren't universal.  Some things are read into individual
  variables, some are in an associative array.  Some are only read in
  the C application, not the PHP code.  Lastly, there should be some
  detection of setting the media directory so if you have a custom one,
  you don't have to also set all other configurable variables.

• There are a lot of TODO items in code.  Sadly a lot are mine.  I
  should go through and make a list of these in a "code review"
  ticket...
Settings bugfix and warning removal.

Set the default mode to player to allow fppd startup when there is
no settings config file.  I think this used to work and was
probably broken by the fpp mode enum changes.

Remove a warning in the settings file parsing that alerts if we
see a config option we don't know about.  This warns about
commented out entries and also makes warnings pop up when switching
back and forth between versions which might have different config
options, so just delete this fprintf call.
Merge branch 'stage' of github.com:FalconChristmas/fpp into stage
Fix settings parsing for USBDongleBaud that had old copy-paste parsing that was updated for most tokens
Fix some direct calls to sudo that should use the 'SUDO' define
Add a couple more things to the debug output and web settings parsing.
Plugin callback initial code:

• Coded non-blocking media and playlist callbacks, still need to code
  callback for nextplaylist that is blocking.

• Tested with callback function from the vastfmt plugin's script that
  supports the media callback.  Also implemented a playback stub to test
  multiple callback types and functionality.  That was later removed
  from the vastfmt plugin.

Future Work:

• Parse tags from media rather than simply passing the filename

• Cleanup string parsing when we move to C++

• Pass more details in the JSON data for playlist.  Currently we only
  pass each of the sequence entries, without numbering them.  We should
  look into passing not only indexed sequence entries, but other data
  like the "first" and "last" flags for the playlist.
Minor tweaks to the code:

• Only call MediaCallback for media types (not pause, nor events)
• Check for existance of media in JSON data passed to the media callback.
Fix a bunch of type warnings and duplicate variable names.

While testing compiling with g++, several issues were exposed
with missing type casts and duplicate variable names in several
files due to copying code around.  g++ isn't as forgiving of
these as gcc is, so this commit fixes all the issues to allow
g++ to be used to compile and make gcc usage safer.

We are evaluating switching to C++ to allow us to use classes
for handling strings and other data structures as well as
some 3rd party libraries for things such as meta-data handling.
This commit makes it easier to test or switch over after the
next release.

If you want to test compiling with g++, uncomment the g++ line
a the top of the Makefile.
Updated stage binaries
Add SD image creation script and docs to repository.
Add SD image .xz files to .gitignore
Fix some more directory paths to add missing /'s