Cache the last usage data to avoid unicorn timeouts
On GitLab.com, the usage data cache was never populated because it takes longer than 60 seconds to generate.
This MR also improves usage data performance. The Event default_scope was causing the query to use the wrong index, causing the query to scan through all rows unnecessarily.
Closes #1044 (closed)