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.


I put a comment at the top of the file saying what subclasses have to do.