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 
Big method. Will probably refactor.