MPDroidService: Fix NPE for noisy audio.

Fix an NPE for AUDIO_BECOMING_NOISY being called when the service is up,
streaming is enabled but not initialized.
gradle: Build fossDebug flavor by default.
NowPlayingSmallFragment: Instantiate UpdateTrackInfo if null when resuming.

Instantate UpdateTrackInfo when resuming into an activity other than
MainMenuActivity.
MPDApplication: Prevent NPE by checking static looper for null.

Looper.myLooper() returns null if the calling thread is not associated with a
Looper.
ConnectionInfo: If streaming server is empty, use the server entry.
Tools: Use TypedValue to calculate the dip to px converter.

This also makes this method context aware.
service: Documentation additions and updates.
ServiceBinder: Remove mIsBound flag.

It isn't necessary as if the ClientMessenger is not null, we're bound.
ServiceBinder: The service no longer tracks service persistence.

There was a time the service tracked service persistence, it no longer does,
there's no need to send it notices about it.
MPDroidService: Clean up client message sending.
StreamHandler: Implement OnInfoListener.

Previously, I mistakenly documented OnInfoListener as broken, but it only sends
OnInfo notices once the stream has already begun, for instance, if a buffering
event occurs in the middle of streaming due to network bandwidth issues and not
prior to stream start.
QueueFragment: When filtering and filter is null, processed filter is "".
CoverManager: Reformat.
CoverManager: Clean up the trivial warnings.
CoverManager: Change to recommended fix by abarisain.

This is a trivial change to 1a02d95 to change to instance of rather than null
check.
MPDroidService: Set the service owner onTaskRemoved().

If onTaskRemoved() is called, if the notification is not persistent, the
service needs to know the owner so it correctly reacts in the case that a main
service handler is stopped.
NotificationHandler: Disable buffering when media streaming is wound down.

When unexpected behaviour occurs, and the media streaming is wound down,
the notification buffering banner can continue; this fixes that.
StreamHandler: Move IllegalStateException to catch the actual prepareAsync().

Another error from long ago, the actual call to prepareAsync() needs to be
caught, not the Handler delay method.
StreamHandler: Minimize the mMediaPlayer.setDataSource() try/catch block scope.

Easier to read and understand the blocks' intention.
StreamHandler: Add user visible stream error reporting.

Fixes #596, thanks @iomartin!