Fixes small exception on shutdown when conducting tests

* When shutting down after tests, the dqp plugin can throw the 'programming
  error' exception produced by the DefaultServerProvider. The ServerCore
  can shutdown prior to the dqp plugin hence is no longer initialised.

* Only if the ServerCore is initialised is it necessary to remove the
  listeners from the server instances.
TEIIDDES-1894 Importing DB2 JDBC Data Source throwing npe
Merge pull request #245 from mdrillin/TEIDDES-1894

TEIIDDES-1894 Importing DB2 JDBC Data Source throwing npe
TEIIDDES-1796: Provides checks on values for creating a new datasource

* Rather than wait for an error to be returned from the server concerning
  a missing property value, be pro-active in the Teiid instance model of
  checking the values before submitting them to the server.
TEIIDDES-1419 Added user-defined functions section
TEIIDDES-1896: upgrades modeshape plugin to 3.6

* Upgrades the modeshape bits to 3.6.Final
Fixes regression from 301b01b

* FileNameResourceCollectorVisitor
 * Refactoring commit 301b01b changed the filter.accept logic and return
   statement values. As such, the visitor failed to recurse any further
   into projects and folders.
Fixes errors in synchronising vdbs during a rename refactoring

* RelatedResourceFinder
 * findDependentResources fails to include members of a resource that is a
   container. The members of a project or folder are by definition dependent
   on their parent container for their existence hence should be included.

* RefactorResourceUtils
 * calculateTextChanges should not add an edit to the returning text change
   object if the source change is in fact identical to the target change.

* VdbUtil
 * Incorrectly assumes that all model resources to find in a project have
   the xmi extension, which is not the case for xsd files.

* RenameResourceRefactoring
 * Since changing calculateTextChanges above, addTextChange would not return
   false if renaming a project or folder. Thus, its important to still
   calculate related vdb resources since the renaming of either a project or
   folder would affect the resources' paths contained in a vdb.
 * The indexing of a vdb change originally adds a rubbish old/new resource
   path, which thankfully were not being used. However, now they are being
   used and more importantly are now correct.
 * Corrects the name of the rename job.

* AbstractResourcesRefactoring
* VdbResourceChange
 * Avoid holding the vdbfile as a field in the resource change. This is
   necessary as the file becomes invalid if a parent, such as the project
   or parent folder, are renamed.
 * Since a vdb cannot be created more than once in the same folder, the
   parent folder name and vdb name can be considered a unique key.
 * When processing the vdb resource change, find the vdb according to its
   project, parent folder and vdb name.
 * The project and parent folder names are correct UNLESS one of then is
   being renamed. In which case we use the replacements set to find the
   new values.