This is clever, but I'm a bit uncomfortable about us executing this code in production (particularly with the default of auto-detecting whether we are in dev mode based on `/core/target/classes` being on the classpath).

It looks fairly unlikely to infer it incorrectly (though one could quite conceivably be using brooklyn as a library with one of your own projects called "core"). I take it that if this `ResourceLocator` doesn't find brooklyn.war at /usage/launcher/target then it will continue with the normal approach?

My concern/uncertainty stems mostly from it being like magic. Things "just work" until someone sets up their environment slightly different from how we expect and then there is a major WTF for the user. There's no way they'd guess this is what's happening until they either walk through the debugger or find it in the docs.