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

2.3.x Backport of #3475

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