tools: Allow LogAnalyzer to read from stdin rather than just files

Use - intead of the filename
tools: Allow LogAnalyser to emit its xml to stdout.

If you use - as the name for the output file.
tools: LogAnalyzer fixes to work with pipes as input

seek is not supported on pipes (and not needed in this case)
tell is also not supported, so count bytes on our own
tools: LogAnalyser, ensure error msgs go to stderr not stdout
tools: LogAnalyser if we fall off end of GPS data, return a valid time

Found cases where the loiter test would fail with some flights if
the vehicle never left that mode.  Don't use None in that case
tools: my change to use stdin, broke reading logs that have no header

This fixes it (I'm careful to avoid seeking)