Make Task clients pass rbc limit as a parameter to resume_execution instead of calling reset_hpc themselves.

This avoids bugs where reset_hpc was being called in mutiple places during
the processing of a single event, sometimes wiping out already-set limits.

This patch also ensures that we reset hpc at every resume, and always pass a
nonzero value for the rbc period, for more consistent behavior. In particular,
this seems to mean the CPUID undercount bug is usually triggered
both in recording and replay.

This moves towards having Task be in sole charge of hpc.