Issue #2717207 by mpdonadio, dawehner, catch, alexpott: Add a time service to provide consistent interaction with time()/microtime() and superglobals