Add an abstract class TranslatableForm

Summary: There are lots of conditions that arise when a form will not be translatable, for this reason we make it a tiny bit harder to use a translatable form.

Test Plan: Use the abstract class

Reviewers: brooke

Reviewed By: brooke

Differential Revision: http://phabricator.cubex.io/D21