Fix bug that causes alerts to affect other courses

Previously, alerts_cache is modified when evaluate_for_course is called.
If the course being evaluated has alerts, they will be incorrectly added
to alerts_cache for that course's account. All subsequent courses in the
same account will see them as account alerts when evaluated, even though
they were only meant for that one course.

Test Plan:
  * Create two courses in the same account
  * Set up an alert in the first course
  * Create the circumstances that meet the criterion in both courses
  * Confirm that the alert is only triggered in the first course
Add unit test for alerts spill-over bug
Merge pull request #431 from sfu/fix-alerts_spillover

Fix bug that causes alerts to affect other courses