Fixed NewFieldPluginTest failures.
FORGE-1060 Initial commit
FORGE-1060 Committing working version of 2-level DTO generator.
FORGE-1060 Initial working REST resource generator.

This kind of works, but requires fixing for nested DTOs. The persistence context should be queried to setup the linkage.
FORGE-1060 Added support for populating associations
FORGE-1060 Added an introspector for extracting property info.

This now enables fields and accessors to be treated the same way, thus making all properties in the JPA entity eligible for inclusion in the DTOs. Separate treatment is therefore not required for accessor methods in entities, or for JPA entities that use PropertyAccess instead of FieldAccess.
FORGE-1060 Fixed ConcurrentModificationException

Removal of items from JPA collections is now done via Iterator.remove since a ConcurrentModificationException would be thrown otherwise when obtaining the next element in the collection.
FORGE-1060 Add @XMLRootElement to top level DTOs

Also removed the logic to add @XmlRootElement to JPA entities.
FORGE-1060 Refactored the DTO creation logic.

This is now extracted out into a Builder.
FORGE-1060 Do not save the JPA entity since it is unmodified.

Also fixed an issue with respect to persistence context updates,
since updates on properties of nested DTOs may be incorrectly done
by clients. We support only updates to associations at the moment.
FORGE-1060 Additional refactorings for the DTOClassBuilder

Refined the API of the DTOClassBuilder for the DTO generator.
FORGE-1060 Extracted String concat operations into FTL templates

Convoluted StringBuilder.append() invocations are now replaced by
FreeMarker templates.