Minor Connection Closing issues.

1) 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. Not sure if this will have any negative affect at all, IF it did happen.
2) if connectionTimeout==0, it makes the connection timeout = 1 second. Changed it so if it is less than or equal to zero, to essentially mean NO timeout. (I might be wrong in my assumption, but the rest of the code appears to want to do this).
3) Getting closed connections at random times, as far as I can tell there is some code in DCstack that is not needed that closes connections. When I remove it, it appears to fix the random closed connection issues.

I am open to discussion about this. I know these changes are working well for me, but I don't know if I am opening my system up to other problems.

Thank you!