tools: Fix LogAnalyzer scoping

There was some not-quite-Python going on here leading to [this bug](http://nbviewer.ipython.org/gist/foobarbecue/f4ccf002937349f21832), probably among others.
I've fixed it so that instance variables are defined in `__init__()` statements, as is pythonic. Inherited classes (individual tests) had been overriding the init method of their parent classes without calling super so I fixed that too. Also changed everything to new-style classes with (object). Tested and works fine.

Note that the parent for my branch is @geeksville's whitespace fix commit because otherwise we would have tons of merge conflicts. So if you do a diff between f93e31c and 9d165ce you'll see I've not actually changed 580 lines.