CYB-350 Database reset Thor task

 * also improves the student factory to reduce the chance of canvas_id collisions,
   and also ties the email address to the name.

[CYB-350 Database reset Thor task](https://jira.ets.berkeley.edu/jira/browse/CYB-350)

After this is merged,

```shell
    thor clean:db
```

will clear all tables other than 'points_configurations'

PointsConfiguration is only a reference table, and does not have a foreign key into any other table, and so it should not need to be reset in this case.  It also must be fully populated for the app to work, which can be done via the rake task.