Initial commit for discussion

A lot of this is still stub code, but far enough along for discussion
and feedback. Some good example tests are TestVibration and TestBrownout

datatypes handled correctly now (previsouly all read as floats), added
flag to skip bad input lines, now prints some general log info (size,
duration, etc), added some basic performance timing,
added PM slow loop check, first version of xml output
adding Roberts bad PM performance log
changed command flags a little, tidy, started on TestPitchRollCoupling
added test for dupe log data
fixed plane+rover parsing, added test for underpowered copters
added BETA feedback info to output
added unit test, started moving from dictData to listData

added unit test, started moving from dictData to listData, cancelled
pre-3.0 log reading, separated DataflashLog constructor and read() call
added GPS glitch detection to GPS test
report skippedLines, cleaned up DataflashLog.read() error handling
combined statusMessage and extraFeedback
added LogIterator, copter roll/pitch > max lean angle test,
added --verbose flag, added test for MAG interference
detect all zeros in MAG X/Y/Z data
added check for binary log files (can't parse yet)
escape strings in XML output
added 'import collections', allowed for some AC3.2 logging changes
fixed XML output glitch in the case of a skipped (NA) test
renamed 'logs' folder to 'examples'

as per Craig’s request
renamed PASS to GOOD in output (and enums)

as per Craig’s request to clarify test output