Android: Remove "Telemetry service starting" message

This message is overly verbose for a toast and the end user doesn't
need to know when the service starts and stops.  Just when conenctions
are made and broken.

Fixes #207
Android: Handle broken connection properly

Now when the input stream has an IOError the telemetry task will
notify the telemetry service which will then fully shut down the
connection.  The goal of this to make sure that all the android
services (like network and bluetooth devices) are properly
closed after an error.

Work on #236
Android: Better handling of broken telemetry channels

Previously because the error occurred within a runnable on the master
telemetry thread I was not properly propagating the error to the higher
level of control.  Now it causes the master thread looper to quit
which then calls telemetry disconnect and shuts everything down
properly.  This is tested with network telelmetry and allows reconnecting
after the remove network server is shut down.

Fixes #236
Android Telemetry: Add a channel open intent

Previously there was no way to know when a channel mechanism
(e.g. HID, Network) had even opened a channel, even if telemetry
was not working.
Android: Make menu bar items centered
Android: Check in new icon for up and down link

Use this icon in the status bar to indicate telemetry instead of
text field.
Android: If room show connect in action bar

Work on #283
Android Telemetry: Toggle a connect disconnect button

Once a channel has attempted to open the connect button will
turn to connect until the channel is closed.

Fixes #283
Android Telemetry: Only show stats when connected

When a telemetry link is not estabilished then up and downlink
rates do not appear at the top.  It might be nicer later to
replace this is some symbol to indicate negotiating link when
appropriate.

Also look into ActionMode.
Android: Move TelemetryMonitor into the Telemetry package
Android Telemetry: Refactor Telemetry.java into the telemetry package

This required making a few things public that were previously shared
amongst the package.  I'm unsure if telemetry and telemetrymonitor
are more related to uavtalk to telemetry.
Android Telemetry: Give telemetry a way to signal connection failure

Previously when telemetry failed to write there was no way for it to
signal back to the main telemetry task that the channel was broken.
Now there is a runnable the task provides telemetry which triggers
a normal disconnection process.

Work on #236
Android: Don't call disconnect when not connected

The OPConnected and OPDisconnected signals refer to the status of
telemetry so make sure the disconnected function is not called
unless connected was.  This was being artificially triggered on
a disconnected intent that interrupted link negotiation.
Android HID: Handle interrupted connections better

Previously unplugging the HID device left things in a bad state.
Now the HID layer notifies the rest of the application the connection
has failed.

Fixes #286
Android Logging: Sometimes the task is disconnected without objMngr

If the connection fails very early the object manager might not
be set and logging would fail on disconnect.

Work on #242
Android: Keep connect button sane

Switching between activities was messing up the connect button
because we weren't updating some flags when binding the service.

This should be better fixed in #287
Telemetry Stats: Use a custom view in the action bar
Android HID: Check all valid devices but only accept one

It seems like after the same device is plugged and unplugged in
multiple times ghost devices are left.  We need to test all of
them but ensure that we do not start multiple read/write threads
of the driver gets very unstable.

Fixes #289
Android HID: If a request fails clear the queue

This seems to make HID telemetry more stable
Android HID: Make sure to stop both read and write threads

The thread.interrupted(); thread.join(); sequeunce seems to throw
and InterruptedException for the read thread.  Make sure to attempt
to wait for the write thread as well in this case.