Adding boiler plate code for custom field implementation.
Custom fields should now be able to add/remove components dynamically by
clicking a button.
Instead of cloning, we generate a new GUIField by calling the create
method from the GUIFieldFactory. Cloning through serialization leads to
unexpected errors.
- Ensure to generate new Fields instead of referencing the same Field when
duplicating GUI components. Using the same field leads to aliasing and
all the duplicated views would refer to the same thing.
- Save the values from CustomFields into idata
Statically keep track of the number of rows.
Persistency changes were made to ensure dynamic rows persist.
It is still recommended to go with PR 210 of IzPack as this also
resolved the issue.
- Labels are now generated for the columns of the custom field.
Adding ability to specify minimum and maximum amount of rows for custom
fields.
CustomFields should now be summarized appropriatley when given
summaryKey in the custom field's tag along with summary keys in the
field's tag.
Ensure to check condition and update view if it was pervioulsy hiding
Merge branch 'master' into customFields

Conflicts:
	izpack-panel/src/main/java/com/izforge/izpack/panels/userinput/UserInputPanel.java
	izpack-panel/src/main/java/com/izforge/izpack/panels/userinput/field/Field.java
- Ensure to call saveData when hitting previous.
- This has been updated because of the changes from issue IZPACK-1114, the
  executeValidationActions was removed.
Added ability to interact with custom field through console
installation.
Ensure to make unique Field and ConsoleField objects to avoid aliasing.
Ensure that previously made selection is save correctly.
Ensure to re-prompt when validation fails on a field.
Merge branch 'master' into customFields
Allow proper generation of auto.xml for custom views through GUI
installation.
Refactors getVariables for custom fields to returned all variables with
its completed names.
Ensure not to count number of rows with static variable.
Check for unique custom fields by its associated variable to allow
multiple custom fields on one panel.
Allow for validators on columns through GUI installation.
Allow column validation in console mode.
Allow to redeisplay a module in console mode.
Merge branch 'master' into customFields
Ensure that console installation respects the minRow and maxRow attributes of custom
fields.