FORGE-2055 Create a cache for UICommands

A cache for UICommands is introduced for any operation that
does not mutate the state of the UICommand, for instance,
displaying the command names as list, in the Shell or in an IDE.

This commit also introduces a new API to ensure that new UICommand
instances are created when commands are executed. Cached UICommands
are not used at this point to ensure that cached UIInput values are
not used.
Merge pull request #505 from VineetReynolds/command-cache-perf-fix

Command cache performance fix
FORGE-2055: Created tests for it
FORGE-2055: mocking UIProvider.isGUI for command names
FORGE-2055: improved tests
[maven-release-plugin] prepare release 2.12.0.Final
[maven-release-plugin] prepare for next development iteration
FORGE-2059: Being able to create a new CDI interceptor binding
Merge pull request #512 from agoncal/FORGE-2059

FORGE-2059: Being able to create a new CDI interceptor binding
FORGE-2060 : Being able to create a new CDI interceptor
Merge pull request #513 from agoncal/FORGE-2060

FORGE-2060 : Being able to create a new CDI interceptor
FORGE-2065: CDI commands should have implicit setup
FORGE-2066: In jta-setup version should be renamed to jtaVersion
FORGE-2068: When creating a new field, updating toString should be optional
[maven-release-plugin] prepare release 2.12.1.Final
[maven-release-plugin] prepare for next development iteration
FORGE-2076: Added command to generate DAOs from JPA Entities
Merge pull request #517 from selrahal/FORGE-2076

FORGE-2076: Added command to generate DAOs from JPA Entities
FORGE-2063: Added test case to verify not an issue
FORGE-2078: Being able to create a new CDI decorator