Make it easier for play to be used with other build systems

I started playing around with making Play work with other build systems. I moved the delegating class loader from being implemented in scala in the sbt-plugin project to being implemented in Java in the sbt-link project so that it can be reused in other build systems.

Some of the code in other build systems ends up looking kind of funny because of references to SBT, so I renamed SBTLink to BuildLink to have it make more sense. To quote @jroper from https://github.com/playframework/playframework/pull/1556 " the SBT link project in spite of its name has no dependency or relation to SBT".