mpris: Set default playspeed

Prevents a critical for MPRIS peers that don't support querying
playspeed.
renderer: Refactor SetAVTransportURI

https://bugzilla.gnome.org/show_bug.cgi?id=709165
renderer: handle playback state in PlayerController

Player.playback_state was modified from both PlayerController and
AVTransport. Start making all modifications through
PlayerController.playback_state. This has the added benefit that we
don't accidentally expose "EOS" state to AVTransport.

Also rename some variables "player"->"controller" to match reality.

https://bugzilla.gnome.org/show_bug.cgi?id=709165
renderer: Refactor AVTransport and PlayerController

Move track_metadata and track_uri state tracking to controller,
Stop modifying controller properties from many places in
AVTransport. Add set_single_play_uri() and set_playlist_uri() as the
only valid methods to set uri, metadata, etc. Also make property
setters private if setting them from AVTransport makes no sense.

The goal is to make both classes cleaner, no functional changes
are intended.

https://bugzilla.gnome.org/show_bug.cgi?id=709165
renderer: Avoid notifying track and n_tracks unnecessarily

There were redundant values in LastChange events.

https://bugzilla.gnome.org/show_bug.cgi?id=709165
renderer: Simplify PlayerController "EOS" handler

https://bugzilla.gnome.org/show_bug.cgi?id=709165
renderer: Implement SetNextAVTransportURI

This is a simple implementation: It does not prefetch media.

Things that will be tried on EOS or on "Next" action:
 * if there are songs to play on playlist, play next one
 * else if NEXTAVTransportURI is set, play that
 * else set state to "STOPPED" and track to 1.

https://bugzilla.gnome.org/show_bug.cgi?id=719721