As part of future changes to add an OpenTelemetry attribute for the
splits, we should make sure that we have a common type for the splits,
which can be used with `addSplit`.
This refactors - with some help from GPT-4.1 - to use Vitest's timer
mocking.
This also requires a slight refactor of the implementation to test more
appropriately, without duplicate calls to `Date.now`.
Co-authored-by: gpt-4.1 <jamie.tanna+github-copilot@mend.io>