473 question tags

Ready for review. The part I'm most unsure about is the way `@ability` is created and used in the tests, and its interaction with user and mission. But all tests are passing!