fix uploading of build console logs to remote server

Fixes issue JENKINS-21138

An exception occurs during console log upload causing only partial logs
to be copied to the remote server.  The problem is that the session object
is not thread safe.  To fix this problem we need to move the session
object into the ConsoleRunnable thread.  Now the console upload always
runs in a completely detached thread.

Notes:
1. Needed to update jenkins version to 1.430 because 1.403 would not build
   anymore.  I think 1.430 should be conservative enought to be compatible
   with most of the existing jenkins installs.
2. Updated com.jcraft.jsch depenency to version 1.50
creaet session only where needed and add logger to output stream

This commit does the following:
1. fix to only create a single session if the scp plugin is configured to copy
   only the console log and no other files.
2. Give createOutStream a logger.
fix race condition where scp plugin exits before console log is created

In certain conditions the scp plugin may run to completion before the console log file
even gets created on the remote scp site.  This commit adds a syncronization point to
make sure the console log file gets created before the main scp thread exits.
log InterruptedException
fix hang on exception in child thread

It is possible for child thread to hang due to exceptions occurring before a notify to
the parent thread.  To prevent execution from hanging the child thread will notify parent
thread no matter what happens.
Merge pull request #8 from zaro0508/fix-FileNotFound

Fixes for scp plugin