Issue #9 fix. Completely refactor the error mechanism and remove all manipulation of the form definition after it has been loaded.
Field errors and now saved in the formData.fieldErrors map using the element name as the key in a flat map.
Refactored the 'each' element handling to do a shallow clone of the FormElement for the purpose of inserting dynamic elements based on an array of data.
Reworked all the unit tests and added  further tests for utilities.
Validators now get the full formData and index of the field value.
Fixed field level validation of numbers when converting so that individual fields are marked.
Made the testForm actually visit all the formElements and subElements and at the same time set the element name.
The element name is no longer continually set, it's set once when the form is created.
https://github.com/nerdErg/GoodForm/issues/9