2.3.x backport - 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

Conflicts:
	framework/project/Build.scala
	framework/project/Dependencies.scala

* Fixed build after cherry-pick
Added support for additional settings in shared projects

* Added publish settings
Fixed publish settings for 2.3.x branch
Merge pull request #3476 from corruptmemory/wip/shared-runtime-2.3.x-backport

2.3.x backport - Broke out PlayWatchService and AssetsClassLoader to be shared