MPDConnection: Add yet more debug information to the no exception error.
MusicList: Refactor.

This refactoring fixes quite a few issues, some causing internal inconsistency
which has been in this class since existance.

* When the inner list is manipulated, do not remove the old music entry from
the inner list. This removal will occur at a later iteration of the changeset,
if it needs be. This caused a bug which would cause an exception when adding
or changing in the middle of the inner list.

* Remove unused methods and constructors. There were a lot of unused methods
that would no longer have any use and would add to the maintenance of this
class. Since this class is for internal use only, we don't need to worry about
feature methods.

* Move the list iteration to manipulate(), it's better suited for the task.

* Cleanups everywhere, including the workaround from f232f5f has been
refactored.

* Replace map with list. Our songID map has /never/ worked correctly, due to
the way it was constructed. Replace it with an easier to maintain list.

* Use sublist() to clear ranges.

* Implement Iterable.
Artistfragment: Save and restore genre state
Merge pull request #648 from jpeitz/fix_artistsfragment

Artistsfragment: Save and restore genre state