TEIIDDES-1459: Rename server classes

* Since eclipse (and jboss) use a Server class and IServer interface it
  make sense to rename the TD Server class to avoid confusion, especially
  as an adapter will be adapting one into the other.

* Renames Server, ServerManager and ServerUtils by prefixing them with Teiid
TEIIDDES-1459: Adds IServer-TeiidServer adapter

* Registers adapter for converting a given IServer to a TeiidServer model

* Dependencies on JBoss plugins
TEIIDDES-1459: Make server manager initialisation lazy

* Plugin start() methods are executed by worker threads when eclipse starts.
  The UI can be stopped by requests for passwords and other dialogs while
  the plugins continue to be initialised. This means it is dangerous to
  initialise components using the plugin start() methods when other parts
  of eclipse are not actually started.

* DqpPlugin
 * The server manager should be initialised lazily as its Teiid Servers are
   now dependent on checking installed jboss server, which need access to
   the eclipse secure storage, which may have not been initialised if the
   master password is requested from the user.

* DqpUiPlugin
 * Requests the server manager in it start() method which is no longer
   appropriate. Instead, it simply sets the DqpPlugin's password provider
   for use by the server manager's own preview manager when it is initialised.
 * Remove shell field in the password provider as it cannot be guaranteed
   that a shell has been assigned to the workbench when the plugin is started.
 * The PasswordProvider implementation fetches the shell from the workbench
   when its dialog display is requested.

* Tidy up calls to shells for display of dialogs.
TEIIDDES-1459: Displays the teiid server config in the servers view

* Adds the teiid server content into the Servers view tree beneath the
  appropriate jboss server

* Adds the parent IServer to the teiid server implementation

* The content and label providers for the navigator delegate to the existing
  TeiidViewTreeProvider for the details under the teiid server
TEIIDDES-1459: KeyInValue HashMap implementation

* HashMap implementation for mapping objects that also contain their
  keys, eg. IServer contains its own id/name.

* More memory efficient that storing separate references for the
  strings used in the id/names.
TEIIDDES-1459: Eclipsify the TeiidView

* Use the eclipse extensions to set up the TeiidView with its
  content, label and action providers rather than initilising them
  in code.

* Have the TeiidView extend CommonNavigator so that it get its
  TreeView and providers from the plugin.xml

* Providers can now be shared with the Servers view with both views
  displaying the same content and displaying the same actions when
  a TeiidServer is clicked on.

* TeiidServerEditor is displayed when the TeiidServer node in the
  tree is double-clicked on.

* TeiidViewTreeProvider split into TeiidServerContentProvider and
  TeiidServerLabelProvider
TEIIDDES-1459: Server listener for TeiidServer

* Adds a listener to the parent server that will disconnect / reconnect
  when the parent jboss server is stopped or started.
TEIIDDES-1459: Fix deadlock when starting the jboss server

* If the TeiidServer configuration is expanded in either the Teiid or Servers
  views, a deadlock can ensure since the jboss connection tests from
  TeiidServerAdapterUtil are run on the UI thread, which is required by
  other threads for displaying the password dialog (access to the secure
  storage for jboss management password).

* Using jboss tools server content provider as a template, make
  the teiid server requests perform on their own threads. Only
  when finished are the viewer nodes then refreshed on the UI
  thread.

* For the off-threading to work, the content objects for the tree
  need to be wrapped in containers. These are implemented using
  the node interfaces defined by the jboss UI, ensuring a
  seamless carry-over in the Servers view.

* TeiidServerAdapterFactory tidied up and synchronized to ensure
  that only one thread tries to fetch the TeiidServer from the
  manager at a time.
TEIIDDES-1459: Migrate the DnD to CommonNavigator framework

* TeiidView
 * Rather than initialising the DnD adapter manually, uses the DnDAssistant
   plugin extension to the CommonNavigator framework.
TEIIDDES-1459: Add Open Server View hyperlink

* Adds an hyperlink to Teiid View to open the Servers View
TEIIDDES-1459: Sort out the actions for the TeiidView

* New adapters plumbed in for the TeiidResourceNode, TeiidServerContainerNode
  and TeiidFolder

* DeleteServerAction removed since it no longer makes sense to remove a
  teiid server when it is detected automatically

* DisconnectFromServer action given an icon

* Actions fixed to find the teiid server rather than assume its in the
  selection

* RuntimeAssistant methods for adapting selections and objects using
  new adapters

* TeiidView listens for changes in IServers (added/removed) and updates
  accordingly
TEIIDDES-1459: Add jboss feature dependency

* Add the jboss feature dependency to the runtime feature
TEIIDDES-1459: parent of teiid server should be provided

* TeiidServer
 * In order for the unit tests to work correctly, the parent of the teiid
   server should be provided to the constructor rather than the latter
   trying to initialise it itself.
 * If the parent server is null then an illegal argument exception is thrown
   like the other parameters
 * The hashcode() and equals() methods have been modified to be the eclipse
   versions
 * Setters have been removed for the fields involved in the equals() and
   hashcode() methods since these fields should be immutable
TEIIDDES-1459: ensure teiid view can handle no configured IServers

* If there are no IServers configured then this ensures this is handled
  gracefully in the teiid view
TEIIDDES-1459: small fixes to UI

* TeiidServerActionProvider
 * Add the new server action back onto the toolbar

* TeiidView
 * Ensure a minimum width for the jboss server combo
 * Refresh the viewer even with no servers to effectively clear it

* TeiidServerManager
 * Avoid trashing the entire restore state if a parent server cannot
   be found for a teiid server
TEIIDDES-1459: Fix listener communication

* plugin.xml
* TeiidView
 * Adds a TeiidEmptyNode as another object that will enable the
   action provider. This is in turn allows the actions to be displayed
   on the toolbar of the TeiidView

* DqpUiPlugin
 * Convenience method for opening the teiid server editor

* TeiidServerEditor
 * Registers itself with the TeiidServerManager so that any changes
   are made to the TeiidServer it represents will be reflected in the
   display UI components, eg. changing the admin password on the
   server editor.

* TeiidServer
 * Only when its parent has been started can the correct jdbc port
   be discovered so correct the port if necessary
 * Fixes incorrect vdb name when undeploying the jdbc ping vdb

* TeiidServerManager
 * Listens to ServerCore's servers and adds, removes and updates its
   collection of teiid servers as a result

* TeiidServerUtils
 * Fixes error with test model

* TeiidServerAdapterFactory
 * Better enumeration for ServerOptions
 * Makes the createTeiidServer method public and more flexible in
   what it does.
TEIIDDES-1459: Add back in the new server wizard

* Pairs back the functionality of this wizard to just asking for the
  parent IServer and the jbdc credentials

* Results in both editors being opened allowing the user to review
  the configurations before launching the jboss server, which should
  then connect the teiid server
Merge pull request #16 from Teiid-Designer/teiiddes-1459-server-view

Teiiddes 1459 server view