QuickTime: reset stream if an invalid atom length is found

This is particularly necessary if the "header" is at the end of the file.

Also clarifies a variable name that's been annoying me for a while, and
fixes a couple of typos.

Fixes #12218.
Metamorph: be less aggressive about closing readers right away

If the last plane has been read, or more than 128 readers are open, then
we can close the reader; otherwise, keep it open to prevent
reinitializing a reader on every openBytes call.

Fixes #11968.
Add sifting appender to split logfile by thread

With this commit, the log for each thread in multi-threaded automated tests
should be stored in its own logfile simplifying the result parsing. The thread
is removed from the appender pattern to prevent duplication.
Add debug level info to the logfile

This should ideally simplify detection of errors
Log unsuccessful metadata result using the ERROR debug level
Increase SiftingAppender timeout to 60 minutes
Move automated tests log files to target/ directory
Clean target/ directory as part of the `clean` target of build.xml
Fix whitespace with ERROR debug level
Fix logback configuration to pass loci.tests.testng INFO to stdout only

The logfiles created with the SIFT appender should still contain the FormatReader INFO and the loci.tests.testng DEBUG level.
Move additional logging at DEBUG level to strip it from console output
Set parseConfigFile() exception output at DEBUG level
Replace deprecated layout sub-component by encoder
Deprecate TestTools.createLogFile()
Explicitly set the encoder class to PatternLayoutEncoder
Merge pull request #1102 from melissalinkert/rebased/develop/metamorph-performance

Metamorph .nd performance improvements (rebased onto develop)
Merge pull request #1127 from sbesson/rebased/develop/ci_logging_improvements

CI logging improvements (rebased onto develop)
Merge pull request #1101 from melissalinkert/rebased/develop/ticket-12218

QuickTime: fix header/footer parsing bug (rebased onto develop)