FORGE-1501 Execute scaffold plugin setup during generation.

THis ensures that if the scaffold setup command was not run
previously, then it is effectively run during scaffold generation.
Improved the Faces scaffold provider setup detection logic.

This now verifies whether all the required files and configuration
options have been setup correctly in the project.
Added tests to verify scaffold generate behavior.

This uses the UI Test Harness to ensure that the wizard execution logic behind the scaffold generate command is verified, ensuring that scaffold setup is also executed if the provider was not already setup.
FORGE-1822 Modified ScaffoldProvider SPI for Project encapsulation.

The ScaffoldSetupContext and ScaffoldGenerationContext classes now
supply the selected Project to the ScaffoldProvider instance. The
method level Project arguments have been removed.
FORGE-1825 Revoke overwrite flag from scaffold commands.

The scaffold setup and generate commands no longer accept an
overwrite flag. Existing resources are always overwritten since
the commands have no control over deciding whether to overwrite
individual files.
Improved tests to verify scaffold setup alongside generation.
Extracted RESTWizard to javaee-api from javaee-impl.

This allows addons to stop depending on javaee-impl for this class.
Moved RestGenerationContext to javaee-api.

This is done to allow other addons to consume the
RestResourceGenerator API.
Extracted names of RestResourceGenerator as constants in javaee-api.
Extracted JPAFIeldOperations into an interface.
FORGE-1847: UIContext.getSelection() now returns UIContext.getInitialSelection().get() if no selection has previously been set by UIContext.setSelection(...)
Refactor AbstractJavaSourceCommand and fix a few more IMPL leaks in JavaEE