Ai grading

The big merge to master!

@stephensanchez @gradyward @feanil  Please take a quick look if you get a chance.