Ai grading

The big merge to master!

@stephensanchez @gradyward @feanil  Please take a quick look if you get a chance.
If we rollback, we'd need to rollback all these migrations, so I'm inclined to leave it as-is.  @stephensanchez does that sound right?