Patch androlog to support report log message timestamps, customised report content & mail subject/attachment name

Patch androlog to support:
* Timestamps in log messages collected for report
* A custom `ReportFactory` which allows customisation of report contents by adding simple JSON values to a `custom` key
* Custom subclasses of `MailReporter` which allow email subject & attachment filename to be customised using application or report properties

`Report` itself considerably refactored to support the `custom` object, & to allow `EnhancedReporter` impls to get some values from the report for use in mail subject, etc - specifically can get:
* Any key in `device` & `app` objects
* Created timestamp
* Flag indicating whether `Report` is due to exception or not.
Misc change to ensure the same timestamp is used in all report properties & for filename suffix

Made efforts to ensure that existing extensions will still work:
* `Reporter` interface unchanged - `ReportFactory` depends on using an `EnhancedReporter`, both `Reporter` impls changed to implement this
* Any subclasses of `MailReporter` & `PostReporter` should be ok

Timestamps & `ReportFactory` class are enabled by config;  by default no timestamps are added & existing report content is used.  Timestamp format is ISO 8601, not customisable yet.

All androlog-it tests pass (once url in `PostReporterTest` changed as appropriate).
No new tests written for these changes.