TEIIDDES-1699: Assign Teiid Server unique id

* Allows servers residing on the same box, with the same host and port
  to be configured in the Servers View

* Move KeyInValueHashMap to a more useful location

* ITeiidServer
 * Provide a getId() method that returns the unique identifier for the server

* TeiidServer
 * Generate the unique id from the url, version and parent id

* TeiidServerManager
 * Cache the servers in a map keyed on the server id rather than a list
 * Get servers using their id rather than their url since the latter is not
   unique
 * Remove the 'old' xml state restoration since it makes little sense and
   would never produce a working teiid server due to a lack of associated
   parent server.

* DqpUiPlugin
* TeiidServerEditorInput[Factory]
 * Use the server's id rather than the url

* ServerManagerTest
 * Fixes tests in light of API and functional changes to server manager
 * Remove testing of old registry xml syntax since it is no longer used
 * Fixes syntax of second server in test registry data xml