WL-3015 Cleanup of when/happening/slot/terms

This started out as a fix to the appearance of null in emails that were sent to users but turned into the removal of old data a a slight refactoring (incorporates WL-3024).

We had some old data in slot (which is now in sessions) and an old field (when, which is not in termcode/term). This data was no longer updated by the importer but still displayed to users. So I've removed the data and the methods that no longer serve a purpose so that they can't accidentally be called. For getWhen() this now calls the term based methods to minimise the number of lines changed.

I also cleaned up the email that gets sent out and improved the formatting slightly.