Refactored ProjectResolver to have extensions that could be invoked in external process.

  Refactored ProjectResolver to have extensions that could be invoked in external process.
  For perfomance reasons external project resolver should be invoked in a separate process.
  For now we use only in process mode because there is a bug in IntelliJ.
  Also I extracted ScalaFacetResolver so it depends on Scala plugin. Before if a user didn't have
  Scala plugin installed he was getting warnings that an external project is not fully imported.

  Testing Done
    Ran Locally

  Reviewed at https://rbcommons.com/s/twitter/r/947