Corrects possible initializer exception in TeiidServerVersion

* Initialising the static DEFAULT_TEIID_SERVER using the enum Version can
  cause an InitialiserException due to the circularity of initialising the
  TeiidServerVersion class and Version enum while assigning the Version to
  a static.

* Moves the Default Version to the Version enum and refactors other classes
  accordingly.

* Corrects the Default Teiid Version to 8.7 from 8.6
TEIIDDES-2247: Fetch the version of a vdb from its manifest

* The VdbUtil.getManifest() function uses JAXB to unmarshall the manifest.
  However, this is dependent on the vdb-deployer schema which changes
  depending on new vdb functionality added by Teiid. Consequently, it is
  possible for 'new' vdbs in old Designer versions to fail to unmarshall
  due to illegal additions in the vdb.xml not in vdb-deployer.xsd

* VdbUtil
 * Throws any exceptions generated by getVdbManifest up the stack

* GenerateWarAction
* PreviewManager
* VdbUiRefactorHandler
 * Handle the exceptions now thrown from functions in VdbUtil

* DeleteDeployerPreviewVdbJob
 * Remove the vdb version since it is never used

* VdbFileProcessor
 * Provides a method of navigating a vdb archive and delegating to a
   callback interface implementation

* ValidationVersionCallback
 * Finds the vdb manifest and uses DOM and XPath to access the validation
   version so schema-less unlike JAXB

* VdbTest
 * Test for ValidationVersionCallback
TEIIDDES-2247: Adds more Vdb markers analysing Vdb validation version

* VdbBuilder
* VdbUtil
 * Compares the validation version of a Vdb with the default teiid version
   but also checks first if it has one and then also checks that the
   version is not ahead of the default designer version.

* VdbNoTeiidServerVersionResolutionGenerator
 * Quick fix of opening a vdb and resaving it to apply a version number
Merge pull request #388 from phantomjinx/TEIIDDES-2247

Teiiddes 2247