Converts the local repository to site on its own thread

* Moves the modeshape engine to its own thread
 * Stops UI freezing when the engine is started and when queries are
   undertaken. This may not be an issue now but will certinally be in the
   future and important to do it now before we run into such issues.

* LocalRepository interacts with modeshape thread through notifications and
  callbacks.

* Clients interact with the local repository by adding themselves as
  observers to the local repository. In time this will be extended to cover
  modeshape's internal observer listener events.

* Unit test modified to support waiting for the modeshape engine to start
  on its own thread prior to testing its state.