JENKINS-23786: Permit the Shell plugin to set a build result as unstable via a return code

Per JENKINS-23786, currently a shell job has to make a HTTP call back to Jenkins to set its build result as unstable. This is slow, requires the slave to have access to the master's HTTP interface, and is fiddly. The alternative, the TextFinder plugin, is no better.

Instead, allow a job to set the build result to unstable with a return value.

Adds the Advanced parameter "unstable_return" which, if non-zero, is the code the script must return to set the build as unstable.

(Depends on JENKINS-23896)
would it not make sense to use "Integer" instead of "int" - this would allow you to have the field empty if the user has not set anything.
With the current way, the user would see a "0" in the UI, which would be irritating - because "0" does not lead to a unstable build.