TEIIDDES-1914 Improved Mapping Class validation messages
Merge pull request #263 from mdrillin/TEIIDDES-1914

TEIIDDES-1914 Improved Mapping Class validation messages
TEIIDDES-1930 added target model name null check
 * fixed widget disposed problem
Modifications for api compatibility with Eclipse Luna M3

* Changes to the codebase to allow designer 8.3 to run with an Eclipse
  Luna M3 target platform
Merge pull request #264 from phantomjinx/master

Modifications for api compatibility with Eclipse Luna M3
TEIIDDES-1931: Stop stackoverflow exceptions from the TeiidServerManager

* ModelerCore
 * As soon as a new instance of TeiidServerManager is constructed assign
   it to the singleton so that no other instances are attempted to be
   constructed. This can happen if restoreState calls listeners which in
   turn require the server manager through ModelerCore. The sync mutex
   object will not prevent this use-case since it would occur in the same
   thread.

* TeiidServerManager
 * While restoring stop any notification of listeners from the initialising
   Teiid instances. Since the manager is in the middle of restoring
   unexpected behaviour can occur from the listeners including stack
   overflow exceptions.
Merge pull request #265 from phantomjinx/master

TEIIDDES-1931: Stop stackoverflow exceptions from the TeiidServerManager
TEIIDDES-1935: Tidy up paths through setting the default server

* If the server selected is the same as the current then a more appropriate
  message is displayed rather than implying a change has been made

* If there is only 1 server then the user had no recourse to modify it and
  as such an appropriate message should be displayed

* If there are multiple servers then the user actively selected the same
  server and as such no change should be displayed
Merge pull request #266 from phantomjinx/master

TEIIDDES-1935: Tidy up paths through setting the default server
TEIIDDES-1941: Stop unreleased server versions being targeted by default

* The value of the 'default server version' is derived from the servers
  configured then a set preference and finally an algorithm based on
  runtime plugins installed.

* The latter algorithm simply found the highest version that the installed
  runtimes were compatible with and displayed returned accordingly. However,
  the introduction of adding in unreleased teiid versions has meant the
  display of versions like 8.9.x which looks silly to the user.

* Algorithm modified to only display the highest version compatible if
  less than or equal to the last tested version, ie. 8.4.x. The user is
  free to set it higher if they wish but at that point they should know
  what they are doing!!