If two threads on the same application try to get the same 'DCStack' there is a situation (though rare) that the threads could get references to two different stacks. Also, if connectionTimeout==0, it makes the connectiontimeout = 1. Changed it so if it is less than or equal to zero, to essentially mean... NO timeout.
Still getting closed connections at random times, as far as I can tell this code is not needed, and when I remove it, it appears to fix the random closed connection issues.
Merge pull request #174 from clitnak/4.1_ConnectionPool

Minor Connection Closing issues.