Fixes builds starting before server manager restoration

* AbstractTeiidProjectBuilder
 * Abstract builder that waits for the initialisation of the server manager
   if not yet started. Since validation and indexing rely on getting the
   default server's version for the correct runtime, these builders must
   wait until everything is up and running.
 * The builder sits on its own thread so it is possible for this thread
   to wait for the restoration of the server manager using join().
 * Builder classes inherit from this class and implement buildInternal.

* OpenableImpl
 * Both the PreviewManager and ModelBuilder try to open a project which
   causes a deadlock when create the necessary info objects.
 * Synchronizes the openWhenClosed method to avoid deadlocks.

* ITeiidServerManager
 * Introduces an isStarted method so that thread waiting on manager
   restoration are less verbose.
TEIIDDES-1832: default server failing to be set by model view

* SetDefaultServer
 * Those clients calling via the handler service will not have selected a
   server prior to initiating the action. As such, the cached selected
   server will be out-of-date. Thus, set the selected server to null in
   order to display the selectServer dialog if more than one server has
   been configured