Sockets secure implementations

Rebased on `master`.
Yes. Just double checked. `sslEngine.unwrap()` will change buffer's position and we need to clear buffer that has been unwrapped. For example, Here is a buffer after unwrap `java.nio.ByteArrayBuffer[position=6453,limit=6453,capacity=18437]`.