Broke out PlayWatchService and AssetsClassLoader to be shared

These files can be used in multiple contexts.  In particular, they will
be needed by the forth-coming forked-run support needed by Activator
based on sbt-server.

[Updated] Added play.sbtplugin.run.PlayWatchService back with deprecation warnings

* Also, improved stand-alone sbt scripted test setup
This is missing publish settings - which is probably going to be complex.  It should publish to maven central.  The SbtRunSupportProject should publish according to the same rules as the other shared projects.  The RunSupportProject should publish as long as the scala version doesn't equal the sbt scala version.  See `Publish.scala` for the existing settings/logic for working things out here.