Split FormField->validate

Split `FormField->validate` into:
```
mixed function parseUserInput(string $userInput);
void function validate(mixed $value);
```

`CM_Form_Abstract->process` would contain something like:
```php
try {
    $value = $field->parseUserInput($fieldValue);
    $field->validate($environment, $value);
    $formData[$fieldName] = $value;
} catch (CM_Exception_FormFieldValidation $e) {
    $response->addError($e->getMessagePublic($response->getRender()), $fieldName);
}
```


I still think you should test validation. If you check instance you should test that it fails if wrong instance (e.g. string) is passed.