Introduce a basic socket-style/context-manager-style GSSAPI Client

The client works by being passed a target, potentially a socket,
and a sender and receiver formatting function.  For example:

```python
import gssapi.ctx_mgr as client
import struct

def snd(msg, func):
    return func(struct.pack("!L", len(msg)+1) + msg + '\0')

def rcv(func):
    amt = struct.unpack("!L", func(4))
    return func(amt)[0:-1]

with client.open('vnc@some.host', sender=snd, recver=rcv) as sock:
    sock.send('WARNGING: this is a secret message!')
    msg = sock.recv()
    msg.should_be('WE GOT YOUR MESSAGE AND FEEL THE NEED TO USE CAPS')
```

Begins implementation of #19
added note for possible ideas