Play local files without storing them in the database

There are various use cases where we would like to play local files
without them being stored in the database:
- BMF while a scan is running
- playing files from removable media (eg. USB sticks)

In order to allow this, we'll have to make sure LMS doesn't treat such
files the same way as regular files. Create ProtocolHandler class based
on File which deals with tmp:// file type. Modify the musicfolder query
to use this URL scheme instead of file:// when needed (or on request).
Playlist changes can't be changed in the web UI.

Need to get the playlist name when reading playlists. Don't cache
playlist related web pages.
Merge remote-tracking branch 'LMS0815/public/7.9' into public/7.9

Change-Id: Id636c0594cda4a3b216cfb16b1c786b3a810e64e
Fix artwork display of temporary items
Rename TempFile protocolhandler to Volatile. Keep url scheme of tmp://
Allow playing back folders full of files in volatile mode.
Add new "Browse Filesystem" mode to ExtendedBrowseModes plugin. 

This new mode allows the user to browse any folder on his system without
adding tracks to the database.
Fix root URL on Windows. Needs a trailing slash or wouldn't be
recognized.
Merge branch 'public/feature/tmpfile_handler' into public/7.9
Add binaries for Perl 5.18 / i386-linux-thread-multi (Fedora 20)
Don't allow editing playlists while scanner is running.
Fix duration for volatile tracks
Improve metadata support for remote and volatile tracks
Bug 18113 - "Remove from playlist" does not clear/update the playlist
panel if the playlist comes empty
Merge branch 'public/7.7' into public/7.8
Merge branch 'public/7.8' into public/7.9
Changelog update
Fix transcoding - disable some of LMS0815's changes. They need some more
work in order not to break existing functionality.
Restore ability to play single tmp:// items: return url if it isn't a
folder
Merge pull request #2 from Logitech/public/7.9

Get Rurrent Version