Handle unexpected types in pstructs gracefully.

Many of the various widget deserialize methods throw `AttributeError`
or other unexpected exceptions when fed unexpected types in their
pstruct.
Raise Invalid instead of returning null on invalid pstruct type
Discovered other ways a pstruct can go bad

E.g. missing fields in mappings, or mappings containing
values of unexpected types.
Multi-select widget expects a sequence of strings
FieldStorages for file uploads are falseish
Restore Py3.2 compatibility.
Changelog for PR #203.
Restore form validation error message removed in deformdemo test fixes

772b8ce8664cb03f1fb2c893175c47a75a496f7c#diff-67b2f092186b770c5b490505b61462c5

Conflicts:
	deform/templates/form.pt
Fix i18n msg id typo.  I swear I copied and pasted this.  :-)
Resolve merge conflict.