Adds bokchoy tests for outline and fixes staff outline bug

@cahrens @andy-armstrong please review.
Yes, much better. I'm wondering if you should create a PR against master with as many of these changes in item.py as possible (so people working on the modulestore can start to see/adopt this pattern).