[ts] implement TimeStream & TimeStreamImage clases

An object-oriented parsing model. This will eventually be the only API
for Timestream parsing
[class_parser_demo] add demo of class-based parsing
[test/data] actually break the broken timestream
[test_classes.py] start unit tests for OOP parsers

Currently, only for the init method of TimeStream. More on their way.
[test_parse] use manifest dict from helpers.py
[test_classes] more tests of TimeStream.__init__()
[test_classes] add tests of TimeStreamImage.init
[test_classes] improve TimeStreamImage.init tests
[ts.__init__] declare TS class members before init
[test_classes] add GPL header
[test_logging] add tests for module logging

Just checks setup at the moment.
[test_logging] rewrite TestSetupDebugLogging
[test_classes] add full test of read_metadata
[ts.init] fix up pylint error in TS classes
[ts.init & test_classes] fix more pylint issues
[test/data] fix broken timestream image
[test/data] add gaps timestream w/ missing imgs
[test_classes] add tests for ts image iterators
[test_classes] fully test iter_by_timepoints

All code paths should now be covered
[ts.parse] fix file ext finder sorting