Robust userlogs, fixing up UserLog generaterealdata support, extending support to teacher data

3 changes:
* Make sure that UserLogs detect when bad data is being set (start dates later than 'last update' dates, etc).
* Make sure generaterealdata doesn't try to do that bad stuff
* Extend generaterealdata to generate data on teacher logins and coach report views.

Testing:
* Run generaterealdata, and see that things (a) work and (b) never complain (despite all the new asserts!)