Fix PlaylistInfo to request only specified range from MPD

Previously, when a range was specified, we fetched the full playlist
from MPD and sliced it locally. This can cause MPD output buffer errors
with large playlists, and had unnecessary network overhead.

Note: previous PlaylistInfo tests were lacking the necessary setup of
putting some items on the current playlist.
The `start < 0 || end < 0` part is no longer relevant, so it should be removed.