using Scala's Futures/Promises for blocking Isabelle launch;
generalised phase waiting method
load `more dirs` from configuration if the corresponding observable is not yet initialised
only mark as init if actually init
updated to match Isabelle2013 API changes
updated Isabelle session startup to match Isabelle2013 API and use the new launch options
explicitly enable language feature: `implicit conversions` (Scala warning)
generalise path resolution method
support running an Isabelle build job during the launch: the job is split off with a separate progress monitor and the launch waits until the job finishes;
support cancellation of the build job
expose more UI methods
added configuration options to skip build and select build output location;
added launch tab UI to configure these options
replaced Scala library bundle with Import-Package statements: this should allow swapping Scala libraries and is a better OSGI practice
Merge branch 'startup' into isabelle2013