test ssl stream connection (fixes #189)

This is a work-in-progress implementation of an SSLStreamConnection test. I'll clean this up shortly.
Good idea, I've added an "instrument" option that enables/disables callEnterHooks/callExitHooks in 0022b4b.

However, that revealed an issue with calling `caller.stack.read(3)` in the *In.read* exit hook when running *testReceiveOnClosedInputStream*, which causes *In.read* to raise an exception: the *caller.stack* looks different when *In.read* raises an exception, because it doesn't contain the return value (nor a Record object).

I worked around that problem by making the hook get the *ssl/In* object via `caller.stack[2]` instead. I wonder which other hooks have a similar problem, and if there's a more general solution. Perhaps we should remove *stack.read* and access stack items via array index instead.