[STORM-442] multilang ShellBolt/ShellSpout die() can be hang when Exception happened

In ShellBolt, the _readerThread read command from python/shell process, and handle like this:
 try
 { 
    ShellMsg shellMsg = _process.readShellMsg(); 
    ... 
 } catch (InterruptedException e) {
 } catch (Throwable t) { 
    die(t); 
 }

And in the die function, getProcessTerminationInfoString will read getErrorsString() from processErrorStream.

private void die(Throwable exception) { 
     String processInfo = _process.getProcessInfoString() + _process.getProcessTerminationInfoString(); 
     _exception = new RuntimeException(processInfo, exception); 
}

so when ShellBolt got exception(for example, readShellMsg() throw NPE ) , but it is not an error from sub process, then getProcessTerminationInfoString will be hang because processErrorStream have no data to read.