iDEA: File update.
dmix: Implement unified equals/hashcode where overridden.

This patch adds a more readable Object.equals(object) implementation and
Object.hashCode(). This commit also adds hashCode() where it is missing.
This commit ensures the internal objects for computing hashCode() are final.
This commit removes equals()/hashCode() from CoverInfo, it's duplicative
of AlbumInfo. Finally, this moves StringsUtils to Tools.
Album: Cleanup warnings.
Directory: Remove InvalidParameterException.

Remove InvalidParameterException, it's the same as the built-in
IllegalArgumentException.
JMPDComm: Eliminate Pattern.

I replaced these earlier, and I mistakenly believed the static regex computation
expense would be negligable, but after doing a perf run I found out that it's
very expensive.

This replaces it with another clean solution which should be extremely cheap.
Music: (Auto)rearrange code.
Music: Fix trivial warnings.
Music: Rewrite compareTo().
Music: Remove update().
Music: Make most fields immutable.

This also fixes the constructor to add the genre field and remove the parent field.
Music: Add equals()/hashcode().
MPD: Push showAlbumTrackCount back into MPDroid.
MPD: Begin cleaning up getFirstTrack().
Stream: Clean Stream item.
Music: Make base object immutable.
JMPDComm/Android/Log: Fix translating warning log exceptions.
MPDroid: Remove StringUtils.

Very basic and duplicate utilities resided in StringUtils.
MPDroid: Remove unused classes.
AlbumParcelable: Fix write ordering.

This fixes a regression from 162259d.
dmix: Reformat the entire project.

This has been very slow going class by class, go ahead and reformat the remainder.