More consistent behavior of Computer.currentComputer

Refines fix of [JENKINS-2786](https://issues.jenkins-ci.org/browse/JENKINS-2786) which probably predated null checks in `Run`. If you are not currently on an executor thread, the former behavior would be to return either `MasterComputer` or null, depending on whether master had executors configured. This makes no sense.

Encountered as part of a [Workflow bug](https://trello.com/c/7JhxqeGI/167-broken-environment). The effect was that `Run.getEnvironment` called from a non-executor thread would usually (but not necessarily!) return an environment based on the master, whereas you would expect it in this case to predictably return one ignoring env vars set on the master (since there is no reason to believe the build is running on the master as opposed to a slave in this case).
It makes sense to add @since notation to mention that the behavior has changed.
I'm also aware about regressions it may cause