ConnectionInfo: Add a class to track the current connection configuration.

This replaces MPDConnectionInfo from MPDAsyncHelper and adds a callback
triggered by connection configuration change. This object also stores
whether where the connection changed since last connection configuration.

This should improve or fix #552.
service: Setup service for ConnectionInfo use.

Since the service is in a separate process, when the connection information is
updated it won't be received as the AsyncHelper and Monitor are running in a
separate process, so we need to send this information over our service binder.
MPDAsyncHelper: Don't allow adding listener multiple times.
AndroidManifest: Format and warning cleanup.
service: Add a debug boolean for the service module.
MPDroidService: Restart service if MPDroid task is swipped to remove.

This works around the default behaviour that if MPDroid is killed, the service
should be. Since, in this case, the service is a completely separate entity,
restart and get back to where it was on main process task swipe kill.
MPDroidService: More audio focus improvements.
DO_NOT_COMMIT

DO_NOT_COMMIT
NowPlayingSmallFragment: Turn priority on for album cover downloading.

From time to time NowPlayingSmallFragment cover will fail to show while
NowPlayingFragment much more rarely fails. The only difference between the
cover download is NowPlayingFragment uses the priority boolean (what does
that even do?) so, use it until CoverManager is fixed.
MPDConnection: Reformat.
MPDConnection: Make MPDCommandResult a nested class and cleanup warnings.
MPDConnection: Move classes used by MpdCallable exclusively to MpdCallable.
MPD.java: Move listallinfo/getHost/getPort into JMPDComm.
MPDConnection: Many warning fixes, tighten direct access.

This includes removing direct public access to anything in connection, anything
in here should be accessed elsewhere in JMPDComm.
MPD: Refactor isConnected().
MPDConnection: Refactor sendCommandQueue.
MPDConnection: Use a statically compiled pattern for line parsing.
MPDConnection: Fix exception warnings.
MPDConnection: Cleanup innerConnect().
MPDConnection: Remove unnecessary nested try/catch.