Speeded up _send

Before calling the socket 'write' method, we were checking that the 'data'
type implements the 'buffer' interface (bytes or bytearray), but the
check isn't needed because 'write' raises an exception if data is of the
wrong type.

Created a couple of pre-compiled struct objects used in protocol.py.

Removed unused data attributes of the Connection class.