Extract validations to new submitValidator type
Extract validations to new submitValidator type

This separates validations from the getter-like methods for a better
separations of concerns. Each rule is explicitly defined under
submitValidator.

exercism/cli,exercism/cli