LogAnalyzer: 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
LogAnalyzer: added PM slow loop check, first version of xml output
LogAnalyzer: adding Roberts bad PM performance log
LogAnalyzer: changed command flags a little, tidy, started on TestPitchRollCoupling
LogAnalyzer: added test for dupe log data
LogAnalyzer: fixed plane+rover parsing, added test for underpowered copters
LogAnalyzer: added BETA feedback info to output
LogAnalyzer: 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
LogAnalyzer: added GPS glitch detection to GPS test
LogAnalyzer: report skippedLines, cleaned up DataflashLog.read() error handling
LogAnalyzer: combined statusMessage and extraFeedback
LogAnalyzer: added LogIterator, copter roll/pitch > max lean angle test,
LogAnalyzer: added --verbose flag, added test for MAG interference
LogAnalyzer: detect all zeros in MAG X/Y/Z data
LogAnalyzer: added check for binary log files (can't parse yet)
LogAnalyzer: escape strings in XML output
LogAnalyzer: added 'import collections', allowed for some AC3.2 logging changes
LogAnalyzer: fixed XML output glitch in the case of a skipped (NA) test
LogAnalyzer: renamed 'logs' folder to 'examples'

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

as per Craig’s request to clarify test output