Fixed local album art fetching
fixed zipstream module (used wrong struct type), made it python 2 / 3 compatible
implemented download of playlists, closes #308. Downloads can be enabled
on a per user basis in the admin panel and are always enabled for admins.
A new configuration was added to limit the maximum size of a downloaded zip:
media.maximum_download_size is set in bytes and defaults to 250 mB.
updated jPlayer to version 2.4.0
updated jPlayer to version 2.4.0
added reasons for not installed optional dependencies in browsersetup, closes #334
Added source-code character encoding header
small cleanup (using list comprehensions instead of filter)
fix userdelete call in js [ci skip]
Added "maximum_download_size" option to man page cherrymusic.conf.
add target option and coverage to runtests

runtests [TARGET]

TARGET is assumed to be importable as "cherrymusicserver.TARGET" and
testable as "cherrymusicserver.test.test_TARGET". If not given, the
whole codebase will be tested, excluding a potential local copy of
cherrypy.

Coverage will be limited to the TARGET, if one is given. In that case, a
coverage of 100% is required to pass. If there is no TARGET, coverage
will be limited to the cherrymusicserver, cmbootstrap and audiotranscode
packages and require a minimum of 50% to pass. If the coverage plugin
can't be imported, no minimum coverage is required.

(cherry picked from commit cd152c2559e0081e6de5d7f30b67ac7902fc9ce3)
Minor changes to manpage cherrymusic.conf.
Link to wiki in README
Replace some README content with wiki links (#339)
link to Setup Guide in README
#294 add button to generate a random playlist with 50 songs
remove print filecount
#294 use database for random calculation
#294 prevent usage of non unique random ids
#294 load random ids in one step