Fix a couple bugs.

Fixes 'unknown' fppMode setting when changing to player mode via the UI.

Fixes common.php's WriteSettingToFile() and ReadSettingFromFile()
dealing with commented entries in the settings file.  Previously
commented entries would have been read and updated since the regex
match wasn't looking for the setting name at the beginning of a line.
This also fixes an unseen bug where we could have setting names
colliding if one full setting name matched the end of another setting
name.
Add build-essential to the list of things we put in the SD image.
File Manager UI enhancements.

- Add a 'Download' button to each tab
- Add a 'View' button to the Scripts tab
- Unify Download/Delete/View code into a single set of JavaScript
  and PHP functions rather than one function per action per file
  type.
- Replace real-ajax-uploader by jQuery-Upload-File.  There are some
  nicer jQuery upload plugins out there, but the changes for them
  would be more invasive and pull in a lot more files.  We can
  evaluate whether to switch to another solution at a later time.
  jQuery-Upload-File is covered by the MIT license.
- Include jQuery-Form-Plugin which is a dependency of
  jQuery-Upload-File.  jQuery-Form-Plugin is dual-licensed by the
  MIT and GPL licenses.  It is included here via the GPL license.
- Add some more helpers to config.php for getting a setting out
  of the settings array.

Fixes #78.
Rework MoveFile a little.

Rework MoveFile to use a regex to determine file type based on
the extension.  This makes it easier to group files of the same
type together such as .ogg/.mp3, .sh/.pl, etc..

Yes, I said .pl, more on that later....
Add ability to upload/run Perl/PHP/Python scripts.

Previously only Bash .sh scripts were valid, now any of the above can
be run as an event script.
New stage fppd binary to handle new event script wrapper.
Update help text on Script tab of File Manager.
Fix SSID/PSK config when using DHCP.
Fix name clash, forgot I had a GetSetting() already.
Fix minor error in fppxml that caused universe updates to be broken for me.
Update media code to parse the details of media

* Use TagLib's c-bindings to grab as much information as we easily can.
  It should support mp3/ogg that we currently support and give us pretty
  much everything we'll want in our MediaCallbacks.

* Requires taglib to be on the system.  For a Pi, you'll need to run:
	sudo apt-get install libtagc0-dev

* Currently only added "title" and "artist" to the MediaCallback
  function.  We can pass more and let the plugins sort out how much
  information they want to use.
Cleanup existing .xz file in SD image creation script.
Found a few more instances of no slash when appending filenames to directories
Allow user to enable/disable screen blanking at startup.

Add a 'Blank screen at startup' setting to the FPP settings page
to allow the user to enable or disable the screensaver setting.
The default is to not blank the screen at startup.  If users are
using projectors attached to FPP, they can enable this setting to
blank the projector screen at startup to restore the functionality
prior to this patch.
Fix bug related to channel output thread and memory mapped blocks.

Check to see if any defined memory mapped blocks are actually active
before starting the channel output thread.  This prevents us from
running it just because there are any blocks defined.

This also optimizes the code to see if we need to start the thread
when a block is activated by first checking to see if the thread is
already running and then checking if we need to start it.

Fixes #70.
Tweak boot process slightly.
Disable effects and memory mapped blocks while in bridge mode.

Bridge Mode is not compatible with Effects or Memory Mapped blocks or
the channel test mode, so disable these three features when in bridge mode.
Once bridge mode is converted over to use the channel output thread,
then these features will be available during bridge mode.
New stage fppd binary.

This requires at least the 'Beta2' SD image which includes TagLib for
media file meta-data parsing.  The new fppd binary will not run on the
Beta1 SD image because of the missing dependency.
Check for and create missing /home/pi/media subdirs in startup

Check for all our required subdirs in startup and create if
necessary.  At least one of these aren't used by fppd, so create
them outside of fppd.

Fixes #82.
Add TagLib dev package to list of thing we add to stock OS build