StreamHandler: Upon buffer interruption, reset mPreparingStream.

This should fix the StreamHandler being out of sync with the main process if
the buffer is interrupted.
StreamHandler: Don't call MediaPlayer.stop/reset during release.

stop() can be called after a delay and can interrupt other MediaPlayer users.
reset() is redundant.
MPDroidService: More audio focus improvements.

This fixes quite a few audio focus bugs, including abandoning audio focus on
stream pause.
MPDroidService: Clean up handler status setting.

This commit adds a method to set handler status, this should make the setting
less error prone.
MPDroidService: Change a couple of messages to direct method calls.
NetworkActivityHelper: Temporarily disable.

This one made it in a bit too early. It appeared to be working at the time,
but this concept had not matured. Disable it for now, it will return later.
NotificationHandler: Call startForeground() once, set a flag.

On initial glance, this might look like a microoptimization, but each
startForeground() call takes significant time to process. Unlike most
any other call which takes no time on the same device. Since
NotificationHandler starts and stops foreground, set a flag and
only call startForeground when necessary.