WIP Assistant / TaskPlans / Sprint 3

Don't merge, WIP.

To test it out, switch to this branch and then run:

```
rake db:drop
rake db:migrate
rake sprint:003
rails server
```

Go to `http://localhost:3001`, sign in as the sole user (printed out in the sprint:003 run above.


As far as I understand, `Topic.find_or_create_by(attributes)` is not deprecated. The form that got deprecated is `Topic.find_or_create_by_name_and_klass_id(name, klass_id)`. But of course, `Topic.where(attributes).first_or_create` is also perfectly fine.