Use shared examples for answer module behavior.
add is_dirty field, and related methods to answer models and tests.