Re #8638. Use workspace start time for added log.

Not the time when the algorithm is run (a strange choice).
If there's not start time, use the epoch (1990-1-1).
Re #8638. Test for the addition of the start time.
Re #8638. Remove redundant line.

It was just setting the property to the value it already had (since
it's an InOut).
Re #8638. Add missing unit test.
Re #8638. Much simpler code, same behaviour.
Re #8638. Add test for desired behaviour on malformed start times.
Re #8638. Catch invalid start times.

Catch the exception if the contents of the run_start or start_time
properties cannot be turned into a valid DateAndTime. Turn it into the
exception for a generic failure of this method.
Re #8638. Add missing unit test for endTime.

Including testing for yet-to-be-implemented behaviour when the end time
string is not well-formed.
Re #8638. Refactor to catch misformed times.
Re #8638. Documentation update.
Merge remote-tracking branch 'origin/feature/8638_addsamplelog_starttime'