rc_override: allow custom maximum window sizes
latency improvements POC - described below.

These improvements should be wire compatible/not change behavior unless you
change the new params from their defaults.

1) Allow shrinking the max transmit window.  Use ATS15=1023 for now
FIXME: I need to change the units of this to something like usecs or bytes...

2) Ensure only one rc-override (the freshest) is sent in each transmit window
(usually - for edge cases where we are out of sync with mavlink a second
could be sent).  It is worth noting that the benefit from this change is
very small (in fact, I'm still working on a test harness that can measure it)
because Andropilot is careful to avoid sending too many rc-overrides or
overrides with stale data.
To enable ATS6=2  (ATS6=1 is normal behavior)

There are a few FIXMEs still - so DO NOT MERGE.  In particular:
I shrunk the rx tx buffer to 256 bytes to find some more space.  Tridge,
did you mention something about we could shrink the rx buffer instead?
Possibly by using a buffer length rather than anding with a mask.
rc_override: allow custom maximum window sizes
latency improvements POC - described below.

These improvements should be wire compatible/not change behavior unless you
change the new params from their defaults.

1) Allow shrinking the max transmit window.  Use ATS15=1023 for now
FIXME: I need to change the units of this to something like usecs or bytes...

2) Ensure only one rc-override (the freshest) is sent in each transmit window
(usually - for edge cases where we are out of sync with mavlink a second
could be sent).  It is worth noting that the benefit from this change is
very small (in fact, I'm still working on a test harness that can measure it)
because Andropilot is careful to avoid sending too many rc-overrides or
overrides with stale data.
To enable ATS6=2  (ATS6=1 is normal behavior)

There are a few FIXMEs still - so DO NOT MERGE.  In particular:
I shrunk the rx tx buffer to 256 bytes to find some more space.  Tridge,
did you mention something about we could shrink the rx buffer instead?
Possibly by using a buffer length rather than anding with a mask.
fixup remove MAVLink 0.9
serial: removed the dependency on power of 2 buffer sizes
convert MAX_WINDOW to milliseconds

easier for users to understand, and removes a user visible dependency
on the 16 usec tick time
added mavtester.py

makes it easier to test mavlink behaviour and RC_OVERRIDE latency
change the serial balance a bit

a bit more space for the tx buffer, a bit less for rx. This handles
common MAVLink patterns for APM a bit better.
mavtester: fixed timestamps
mavtester: tidy up the code a bit
mavtester: added BAD_DATA stats
mavtester: added txbuf logging
packet: ensure offset is initialised
mavtester: allow zero override-rate
removed debug and make rfd900 build fit again
raise version to 1.8
begin cleanup
detect 1st redundant rc_override, not just the first...
detect 1st redundant rc_override, not just the first...