Context managers

Allow using Context as a context manager, to ensure term is called.

```
with zmq.Context(...) as ctx:
    ...
```