Fix timeutils.set_override_time not defaulting to current wall time

This patch modifies timeutils.set_override_time so that it does not
default to setting the override to the current time when the function
*definition* is executed, but rather defaults to using the current
time at the moment the function is *called*.

The thinking is that this behavior is more along the lines of what
the developer would expect when using this function. The new behavior
is called out explicitly in the docstring.

Change-Id: I5a2d449c76a392c902d7a89617d63d7f1e896276
Make run_tests.sh identify requirements correctly

We need to check requirements.txt and test-requirements.txt
in parallel to ensure both are satisfied and we don't upgrade
a package beyond requirements.txt's limits when installing
dependencies for test-requirements.txt

Fixes bug: 1227019

Change-Id: I606f8a1d3eed5c270d5b3c154994d5c3a17b98c8
Merge "Make run_tests.sh identify requirements correctly"