Item: Don't crash when a translation doesn't exist for Unknown*.
MPDPlaylist: Add a workaround for broken partial playlist updating.

An automated crash report has been received detailing a RuntimeException which
was planted in the removeByRange() method in the MusicList class to check
for sanity. It checks to make sure the length of the playlist after a partial
playlist update are less than the status playlist length. Then the exception
would be thrown, their application would fail and we would have a sad user :(.

With this patch, a full playlist update will occur if the playlist length,
after playlist changes, is more than the status playlist length says it is.

There is a tiny possibility for a race between the status update and the
playlist update, but it is more likely that this is a implementation race.
ArrayAdapter: If incoming list is empty, it need not be an ArrayList.

A automated crash report has been receieved detailing a RuntimeException which
was planted in the constructors for the ArrayAdapter class which checked for
the Items list to make sure it has an ArrayList backing store, which, we have
not changed, except for in the case that we have an empty list which we then
use Collections.emptyList(); so now we will check to see if it is empty
prior to the instanceof check.
MPDConnection: On no result / no exception, warn the user.

We received an automated crash report where a command result was not received,
and an exception was not emitted; MPDroid would crash (this is an unexpected
event). Unsure of how this could occur right now, but we have much more work
to take care of in the connection code and this will be fixed sooner or later,
if it is an actual bug. For now, warn the user, and don't crash.