remove all usages of System.activity

Once a system has been in Beaker for a few years, it will accumulate
many thousands of activity entries. Loading all of them is expensive,
but we never actually need to do that: when we display the system's
activity, we use .dyn_activity with limit+offset, and when we insert
a new activity entry we don't actually need to load the entire history
first.

This patch adjusts ActivityMixin.record_activity to avoid touching the
System.activity relationship. Then all parts of the code which insert
new system activity entries are updated to use .record_activity instead
of touching .activity directly.

Usages of .activity in test code are left as is, because it's not really
worth the effort of changing those.

Change-Id: I5fecc094ec61790453c43c832c0ce0ab36ba3551