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
Update index.rst

python2-pylast has been moved into the community packages: https://www.archlinux.org/packages/community/any/python2-pylast/
Cleanup of PlaybackController to be more specific on the current track and
moved those functions to TracklistController, which may control all related
to the tracks. Updated tests too.
Converted tracklist_position() to be called with the track one wants to have information of,
/mopidy/frontends/mpd/protocol/status.py@189 should be checked for gathering a value before
the rest.
Correcting some self-arounds that were innecesary.
Converting tl_track_at_eot property in function with the track having to be
given as an argument
Converting tl_track_at_next into a function that takes the track argument.
Rewrote tests too.
Refactoring code to convert tl_track_at_previous() in a function, also recoded
tests.
Created a TracklistController to let it control wether if a track must be consumed or not