Throw IOException if negative int from port-based cli connection stream.

-Instead of failing at initializing array with negative size.
Introducing PowerMock test for the zero-size array case.
Negative-size case not tested thx to unhelping PowerMock behavior.
Using ConnectionMockTest instead of ConnectionTest; needed by PowerMock.
Cleanup of Russian translation after merge of community-provided changes in https://github.com/jenkinsci/jenkins/commit/7828dcb46d9a18f88cc8e71046edc9ee91ed95e6

More info: https://groups.google.com/forum/#!topic/jenkinsci-dev/JXvazIROoQg

Signed-off-by: Oleg Nenashev <nenashev@synopsys.com>
Better OfflineCause.ChannelTermination.toString().
Trying to avoid an NPE reported by a 1.537 user with the Multijob plugin (patched 1.10).
java.lang.NullPointerException
	at hudson.model.queue.FutureImpl.cancel(FutureImpl.java:78)
	at com.tikal.jenkins.plugins.multijob.MultiJobBuilder.perform(MultiJobBuilder.java:156)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:781)
	at hudson.model.Build$BuildExecution.build(Build.java:199)
	at hudson.model.Build$BuildExecution.doRun(Build.java:160)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:562)
	at com.tikal.jenkins.plugins.multijob.MultiJobBuild$MultiJobRunnerImpl.run(MultiJobBuild.java:70)
	at hudson.model.Run.execute(Run.java:1665)
	at hudson.model.Run.run(Run.java:1612)
	at com.tikal.jenkins.plugins.multijob.MultiJobBuild.run(MultiJobBuild.java:63)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:230)
[JENKINS-20618]

Added a patched version of jzlib from
https://github.com/kohsuke/jzlib/tree/jzlib-1.1.3-kohsuke-1 to better
understand the deflate problem.
Merge pull request #1022 from synopsys-arc-oss/russian-localization-fix

Cleanup of Russian translation ...
Do not throw Error for a recoverable condition.
In this case, someone tried to add an element to a persisted list, and it was added in memory but the configuration could not be saved.
Unclear whether that should even be treated as an error condition (the write failure might be transient, and a subsequent write would store the addition),
but if it should be then we should throw a simple runtime exception.
Better null safety.
Defense against an exception consistently thrown when running functional tests against 1.532.1 (but not 1.540, for whatever reason):
… hudson.PluginWrapper stop
WARNING: Failed to shut down …
java.lang.NullPointerException
	at jenkins.model.Jenkins.lookup(Jenkins.java:3898)
	at hudson.PluginWrapper.getPlugin(PluginWrapper.java:287)
	at hudson.PluginWrapper.stop(PluginWrapper.java:377)
	at hudson.PluginManager.stop(PluginManager.java:650)
	at org.jvnet.hudson.test.TestPluginManager.reallyStop(TestPluginManager.java:129)
	at org.jvnet.hudson.test.TestPluginManager.access$000(TestPluginManager.java:55)
	at org.jvnet.hudson.test.TestPluginManager$1.run(TestPluginManager.java:140)
Merge branch 'fork_fix-nas-exception2' of github.com:marco-miller/jenkins into marco-miller-fork_fix-nas-exception2
[JENKINS-18058] Merged #1016 for better diagnosis.
More helpful ToolInstallation.toString.
Fix mismatched brackets in Norwegian translation
Merge pull request #1029 from tfheen/master

Fix mismatched brackets in Norwegian translation
createProjectFromXML is not supposed to be called for a project which already exists, but failed to enforce this.