refactor TestBlock templates, add answer strategies to ease the implementation of additional exercise types, refs #78