first non-sucking version of rocksock_peek()
the return value now behaves the same way as the other functions.
the actual peek result is written into a user-supplied int pointer.
unfortunately, the ssl implementation does not support anything else
than "error" or "peek: data available" (the third state
"peek: no data available" is missing).
that's because SSL_peek() reserves the return value 0 for a disconnect
situation, for which we have to return a read event notification so
that a subsequent call to rocksock_recv with 0 bytes read can give
the usual indication of a disconnect.
positive return values mean that there's data in the buffer to receive,
which also means that it's blocking.