Fix form date handling

When parsing multiparameter attributes, Form ignores them if any part
is invalid. The Rails behaviour is to raise an exception. This commit
adds an error to the underlying attributes if the user input is invalid.
Changes are also made so the form library can repopulate the form with the
erroneous input instead of removing it.

See #117 
Code Climate has this class as a C in this branch. Definitely want to refactor. Trying to think of a way that doesn't make it less easy to follow.