feat(validation): validate custom form fields

Custom form fields will be validated, assuming they include
a hidden input that mirrors the validity of the custom form field.
A reference to the CE should be present on the hidden input via a
customElementRef property.

ref #6
chore(cleanup): tidy up the code
Merge branch 'hotfix/paper-dropdown-menu' into develop

Conflicts:
	ajax-form.js
Merge branch 'hotfix/wct-and-shadowroots' into develop

Conflicts:
	ajax-form.js
	test/unit/ajax-form-spec.js
fix(merge): merge conflict mess
chore(IDEA): ignore IntelliJ state files
feat(validation): shadowed CE field validation
#6
docs(validation): instructions for integrators
closes #6
[skip ci]
chore(build): this is part of the 1.4.0 release
[skip ci]
docs(integration): document possible submit approaches
closes #31
[skip ci]
docs(demo): typo
[skip ci]
feat(json): support application/json enctype
closes #24
docs(main-doc): link to repo
[skip ci]
feat(data-override): allow form data to be augmented before submit
closes #35
Merge branch 'develop'
doc(data-override): more documentation
#35
[skip ci]
Merge branch 'develop'