audio: Start adding playlist typefinder code.

This allows gstreamer pipelines to determine when they are getting m3u, pls or
xspf files and distinguish them from text/plain content.
audio: Add simple parsers for m3u, pls, xspf and uri lists.

These parsers, and the detectors should probably be moved out at some point,
but for now the simple version of these will do.
audui: Add BasePlaylistElement

This element is the building block for the "decoders" that will convert
the m3u, pls and xspf files to urilists and also the urilist player.
audio: Add playlist decoders.

These elements convert their respective formats to an urilist that we can
handle in a genric way.
audio: A uri list element.

This element "simply" takes the list of uris that our other elements have
already converted to simpler format, picks the first uri and play it. This
is done by ensuring that we block the right EOS messages, and all new segment
messages from the original sources. With these events blocked we can inject
our own nested uridecodebin to play the uri and push our own data. The nested
uridecodebin is setup with caps('any') to ensure that we don't suddenly demux
and end up with multiple streams by accident.
audio: Cleanup playlists elements docs and interace.
audio: Add IcySrc.

Quick hack that wraps a regular HTTP src in a custom bin that converts icy://
to http:// - this is needed to get for instance http://somafm.com/m3u/groovesalad.m3u
to work.
audio: Review cleanups
audio: add basic .asx support
audio: Improve xml playlist handling
audio: Only install icysrc when nothing is already supporting the scheme
audio: Post an error if an urilist expands to another urilist
Merge branch 'develop' into feature/gstreamer-playlists
audio: Check for asx/xspf in data before parsing during detection.
audio: Wrap long line, and explain conidtional instalation of icy element.
audio: Fix lots of playlist issues and add tests.
audio: flake8 fixes
audo: Remove stale TODOs
Merge pull request #460 from adamcik/feature/gstreamer-playlists

Add playlist support to gstreamer