Add some documentation for our socket tests

These tests are really useful. Unfortunately, I didn't write enough docs
the first time around. This should help :)

This commit also removes unused members, and organizes some classes into
better public/protected/private sections (using friend classes when
access is needed by some other internal components).

Change-Id: I072e413b5b52287c098ee9ce5f3ca76b7a3466e9
Reviewed-on: http://review.couchbase.org/43027
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>