Transformer: Add 'required' option for tools

Summary:
Adds an option to each transformation tool that makes that tool
required to be used as part of the solution. If the tool is not
used, or the tool is used to create a no-op transformation (i.e.
a dilation of scale 1), then the problem won't grade, but will
instead return a message to the user letting them know that
they must use the specified transformation type.

Test Plan:
 * Make questions with required dilations, or rotations.
 * Try answering them without the necessary transformation;
   make sure it doesn't grade and you get a message as to why.
 * Try an old question in webapp and make sure it still works
 * Try adding a required translation to that question, and check
   that it is now only doable with a translation.

Reviewers: alex

Reviewed By: alex

CC: alpert

Differential Revision: http://phabricator.khanacademy.org/D5624