TJ: introduce logcollector component.
TJ: apache log writer.
TJ: handlerequestlog.
TJ: implemented logHttpError.
TS/TJ: Started rewrite for QueryLog with LogCollector.

- Introduced QueryLogWriter
- Extended HandleRequestLog to include timestamp and duration.
- Refactored ApacheLogWriter to use timestamp from HandleRequestLog.
TS/TJ: Explain idea in LogCollector, minimal check on input in ApacheLogWriter.
TS/TJ: SruHandler can collect logs if enabled.

- enableCollectLog is default False to be backwards compatible.
- It will add sruArguments, sruHandlingTime, sruQueryTime, sruIndexTime to the log
TS/TJ: numberOfRecords and sruArguments in querylog
TS/TJ: Added loggedPaths to QueryLogWriter, added tests.

- DirectoryLogTest added, and fixed a bug in DirectoryLog
- QueryLogWriter will log every path by default, only loggedPaths if necessary.
- Minimal requirement is having a Client IpAddress.
TJ: query log can handle arguments as sruArguments.
TJ: SruRecordUpdate can now collect logs.
TJ: kwargs.
TJ: added allowedPathMethod as alternative to loggedPaths
TS/TJ: enableLog feature for QueryLogWriter
TJ: log requestBodySize
TJ: LogCollectorScope
TJ: scoping of SruHandler and SruRecordUpdate logging.
TJ: rewritten structure of log.
TJ: selection of arguments a little bit more flexible.
TJ: **kwargs