Cache scheduled activities for events.  #4085.

Also freeze scheduled activity collections because they've got a much
wider scope now.