Update UART driver so it reports the amount of bytes waiting.

Previously it reported '1' if there is one or more.
Update softserial bytes waiting calculation to use the same logic that
the uart code uses.
Update HoTT telemetry processing.

This should be flyable now, the previous implementation would block
while calculating data and transmitting.

This implementation calculates packets on a 50hz schedule and transmits
data as close to the transmission spec as it can.  It's still possible
for other long-running code to interfere with the data transmission.  A
solution would perhaps be to use a timer/irq for the transmission
instead.

There is some cleanup to do still but this needs to be in the hands of
testers for early feedback.
Fix softserial loopback support compilation errors.
Latest binaries with improved HoTT support.