bug 1063621 - Add multiple action changesets

Adding ?changeset=<changeset_id> to a request says 'Reuse this
changeset'.  The changeset must not be completed and must be the
same as the requesting user.

Also, improved cached representation of datetimes (to avoid rounding
issues in Python 3), and added helper test method to convert datetimes
to JSON represenation.
bug 1063621 - Delay cache refresh in changesets

When the changeset is complete, the cache for changed resources will be
updated.

Also, removed mock requirement from requirements.dev.txt, since already
in requirements.txt
fix bug 1063621 - Use changesets in load scripts

Refactored some common code into tools/client.py