Add John Watson as a contributor

[ci skip]
Add transport type to Socket
Remove throwing exceptions from Receivable and Sendable and it's variants.

This is to avoid having to try catch everywhere and to put off the decision
about what the API looks like to later time.
Remove explicit throws Exception from bind and connect
No longer need to explicitly catch Exception
Add BaseSocketSpec
removed unused interface.
REQ/REP socket builders + hwclient & hwserver guide examples.
test cleanup