Sanity Check on msglen after decoding

Add a sanity check to ensure that msglen is consistent with the DF type.
Improve DF field error correction speed

Use bitmasks to speed up the detection of valid and invalid ICAO DF
field types.
Calculate DF and size in decodeModeMessage

Allow the decodeModeMessage function to re-calculate msgtype and
msgbits. This makes the code a bit more portable by not requiring the
calling function to fill in these fields before the call.
Make stats gathering conditional on Modes.stats

There is a quite complex if/else construct for gathering statistics
inside the main decodeModeS loop. To speed the loop up when not
gathering statistics, make the whole construct conditional on Modes.stat
being set.

Also tidy up a few comments
Generate an average Signal Strength

Remember the last 8 signal strengths for each aircraft and average them
for --interactive display. This produces a less jittery indication.
Rename Gillham conversion function

ICAO documents refer to AC13 for altitude encoding and ID13 for squawk
wncoding. Rename decodeGillhamField to decodeID13Field to better
represent this.
Improve callsign extraction from DF17

Use 32 bit registers to hold multiple characters and shift them. This
removes the need for multiple memory reads.

Also tidy up the DF-17 extraction routine to make it more readable.
Extract callsign from DF20 and DF21
Tidy DF17 print output routine