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
Will sbt io always be cross built against the same Scala versions that Play is cross built against?  My understanding is that this isn't the case - the 2.11 cross build is not official, and is only done for ScalaIDE.  sbt 1.0 will probably be Scala 2.11, but Play might still be supporting Scala 2.10 when we upgrade to sbt 1.0.