Use Func<DateTimeOffset> instead of IClock per #123

Avoids the issue of polluting consuming code with needing an interface just for system time.