setmocktime RPC command for regression testing

Two changes:

Adds a -regtest-only-mode ```setmocktime timestamp``` RPC call that causes all subsequent internal GetTime() calls to return that time. This uses the same code as some of the unit tests; it will let us do more thorough testing of scenarios with peers that have different notions of the current time.

The last commit modifies the regression test initial blockchain (stored in the qa/rpc-tests/cache/ directory) so those blocks are created with fixed, known timestamps (will be important for code that tests difficulty adjustment / re-org scenarios).

Builds on #5275