TEIIDDES-1502 Failure to access Oracle data source with column names enclosed in double quotes
Merge pull request #217 from mdrillin/TEIIDDES-1502-2

TEIIDDES-1502 Failure to access Oracle data source with column names enclosed in double quotes
Adds a Refresh Server action to Teiid Server category in Guides View

* RefreshServerAction
 * Refactored to allow it to be called from the RuntimeAssistant

* Identifiers and image added to display the refresh action in the guides
  view
TEIIDDES-1813: Fixes race condition on startup

* Stops parts of the UI calling on the TeiidServerManager before it
  has been initialised. Its initialisation is dependent upon the
  full initialisation of ServerCore, which provides the configured
  JBoss Servers

* ParentServerMonitor
 * Responsible for monitoring ServerCore's resource manager to determine
   whether it has been initialised. This has to be done using reflection
   since the field is not publically accessible.
 * Method for instant check on status of initialisation
 * Listener framework for adding clients who wish to be notified when the
   ServerCore is initialised

* plugin.xml
* plugin.properties
* TeiidServerEditor
 * Standalone Teiid Server editor replaced with tab on multi-page Server
   editor
 * AllJBTTeiidServerTypes copied from JBoss Tools properties and will need
   to be kept up-to-date with later versions of JBoss
 * Editor will not display contents if it determines the parent server does
   not support teiid. This can only be achieved if the server is started
   though.
 * Editor does not populate contents until the TeiidServerManager is fully
   initialised hence a ParentServerMonitorListener and a thread are used

* DefaultServersProvider
 * Has a straight check for ServerCore initialisation. This should allow
   immediate notification of a programming error

* DqpPlugin
 * TeiidParentServerListener adding to ServersProvider moved to
   TeiidServerManager

* TeiidParentServerListener
 * When a server starts, only then can it be truly determined whether it
   has teiid installed. At that point, if it does not and a TeiidServer
   has been cached in the TeiidServerManager, remove it.

* TeiidServerManager
 * Provides getter for its current state
 * Wrap restoreState method in check on ServerCore and if necessary await
   ServerCore initialisation

* ModelExploreResourceNavigator
 * Wrap the server version content in a ParentServerMonitorListener and
   loading thread to delay population until both ServerCore and
   TeiidServerManager have been restored
Merge pull request #218 from phantomjinx/master

Race Condition and Refresh Server action in Guides View
TEIIDDES-1807: Simplifies RESTEasy war generation wizard

* Removes the engine and common-core jar locations from the war generation
  wizard since they are unnecessary since we already include the contents
  of these jars in the teiid client runtime plugins.

* ModelerCore fetches the runtime path of the targeted teiid server version
  from the relevant teiid client runtime plugin.

* Adds TeiidServerVersion isGreaterThan and isLessThan methods for use
  with question of if targeted version greater than specific version.

* Updates to the runtime plugin submodules in accordance with changes to the
  IExecutionAdminFactory interface.
Merge pull request #219 from phantomjinx/master

TEIIDDES-1807: Simplifies RESTEasy war generation wizard
TEIIDDES-1819 Added Server management section to users guide
* updated various images for Designer changes in VDB editor
TEIIDDES-1742 Creation of multiple non-JDBC sources in Designer requires JBossAS restarts
Merge pull request #220 from mdrillin/TEIIDDES-1742

TEIIDDES-1742 Creation of multiple non-JDBC sources in Designer requires JBossAS restarts
TEIIDDES-1813: Refine initialisation of TeiidServerManager

* ParentServerMonitor
* DefaultServersProvider
 * Combines these 2 classes together since the provider is the
   implementation that depends on ServerCore so should be the only class
   that is concerned with its initialisation
 * Allow an instance to be created but guard its public methods such as
   getServers() with a check on Server Core's initialisation

* IServersProvider
 * Adds MonitorListener interface from ParentServerMonitor
 * Likewise methods for adding removing such listeners

* ModelerCore
 * Adds a synchronising lock to getTeiidServerManager since various threads
   can try to call it at the same time before the field has been set,
   ensuring only 1 instance is created from the extension point

* ModelerCoreStartup
* DqpPluginStartup
 * Migrates this early startup class to the same plugin that is tasked with
   creating the TeiidServerManager
 * This improves the performance of such creation since it no longer depends
   on 2 different plugins doing the initialisation and the dqp plugin does
   tend to be started later than core
 * Places the initialisation request in a thread to avoid blocking the UI

* TeiidServerEditor
* ModelExplorerResourceNavigator
 * With changes to the servers provider implementation, it is now possible
   to safely call ModelerCore.getTeiidServerManager() without throwing the
   runtime exception. As such, waiting on server initialisation in these
   classes is unnecessary

* TeiidServerManager
 * Adds check for started status to important methods and so creates internal
   methods used by its restoration function
 * Uses the given server provider for listening for server initialisation
   thereby decoupling its dependence on ServerCore-related classes
 * Allows unit tests to correctly run with their implementation of the
   servers provider

* VdbBuilder
 * Possible for the vdb validation to initiate on startup when the server
   manager is still being restored. If this is the case then return since
   the validation will more than likely occur later

* ServerManagerTest
 * restoreState must be called in order to set the state of the server
   manager to started
 * isInitialised must return true in order for restoreState to restore the
   state rather than adding a listener
Avoids silly concurrent modification exception

* Avoid removing the listener whilst being called during an iteration of
  the listener collection.