TEIIDDES-802: Fix errors in the local build script

* Update to download extra elements from the soatools 3.3.0 CR1 by default

* Make the ROOT_DIR absolute to allow for correct changing of directory
  when building with maven

* Use aggregate profiles rather than nightly

* Use the default profile which provides the target platform as an online
  repository rather than the unified target. This avoids needing to correct
  unavailable bits n pieces in the unified.target

* Fix silly mistakes with MVN vars

* Adds in debugging switch for detailing maven problems
TEIIDDES-802: Upgrade mockito to version 1.9.0

* Adds in the new 1.9.0 version and uses the eclipse installed hamcrest
  rather than its own which are not necessary compatible versions.
TEIIDDES-802: Refactor ResourcesPlugin.getWorkspace method

* To facilitate unit testing and above all mocking ModelerCore, it is
  better for the codebase to get the workspace from 1 single location. If
  all requests for the workspace go to ModelerCore then it should be far
  easier to mock the workspace in ModelerCore rather than trying to mock
  the ResourcesPlugin.

* This also future proofs calls to the workspace which would only require
  1 modification to be made.
TEIIDDES-802: Replace ModelerCore static fields with Registry lookups

* To allow tests to run without powermock, it is essential to avoid the
  need to mock static fields. This problem centres on ModelerCore which
  has several static methods returning static fields.

* ModelerCore already contains a registry for containers. This extends the
  use of this registry to contain all instances of the static fields. Thus,
  the ModelEditor is returned with a registry lookup.

* Use of the registry allows replacement of these fields when testing by
  simply getting the registry and registering a different instance.

* The static API of ModelerCore largely remains the same except for the
  replacement of arrays with Lists. The latter is able to be added to the
  registry while the former is not.

* Registry
* FlatRegistry
 * API improved to allow direct registering against class keys and the
   generics used to avoid casting return values.
 * Unit tests added.

* BuiltInTypesManager
 * If there are no build in types then the rest of the gui fails
   spectacularly but the error message is very small and can be easily
   ignored. Throwing a runtime exception at least brings it front and centre.

TEIIDDES-802: Tests Using PowerMock Fail When Running Tycho Build
TEIIDDES-802: Remove powermock from tests

* Takes all the powermock based tests and removes this dependency

* Replaces all mockStatics with use of mock instances, real classes or
  registers mocks with ModelerCore's registry

* All tests should pass.

TEIIDDES-802: Fix Ignored Tests So That They Will Be Run
TEIIDDES-802: Ensure access is available to test resources

* It has always been the case that running plugin tests has occurred from
  the bundle being tested. This has assumed the working directory to be
  the bundle directory. Thus, finding the bundle's testdata directory has
  always worked.

* This fails when executing bundle tests from other bundles so the API of
  the class SmartTestDesignerSuite has been modified to esnure each bundle's
  testdata can be found by providing the appropriate test class.

* Some redundent methods removed from SmartTestDesignerSuite

* The method mockStartBundle has been added to allow for plugins constructed
  by tests be initialised correctly by starting them with bundle and
  bundlecontext mocked objects.
TEIIDDES-802: Move the wsdl test resources

* Move these test resources required by the WSDLReader tests to the standard
  testdata directory of the bundle and use the SmartTestDesignerTestSuite
  to access them.
TEIIDDES-802: Move the ddl importer test resources

* Move the test resources required by the DdlImported tests to the standard
  testdata directory of the bundle and use the SmartTestDesignerTestSuite
  to access them.

* These plugin is also required to depend on the sdt plugin so that the
  data type manager can be correctly created from the sdt plugin extensions.
TEIIDDES-802: Fix bugs found while correcting tests

* FileUtil
 * The getExtension method fails to work with absolute paths that make use
   of dots in directory names.

* JdbcNodeImpl
 * When executing unit tests involving the FakeJdbcDatabase as plugin tests
   an IllegalAccessError is thrown because the addChild method in the parent
   class is not public.
TEIIDDES-802: Plugin to run all unit tests from eclipse

* Provides a launcher that collects all unit tests from the AllTests
  classes together and executes them as plugin tests.

* Launcher is included in the Run and Debug menus.
TEIIDDES-802: Clean up mocked ModelerCore objects

* Need to ensure that when ModelerCore registry objects have been mocked
  that the mocks are unregistered.

* Allows other tests to get their own proper version of objects if required
  rather than having some tests contaminating other tests.
TEIIDDES-802: Remove powermock plugin from codebase

* All unit tests refactored to no longer use powermock library, which is not really compatible with
  eclipse plugin environment so plugin being removed from the codebase.
TEIIDDES-803: Enable tests that have been commented out

* Tests originally commented out because they needed powermock to
  execute. Instead, powermock dependency has been removed so tests
	have been re-enabled.