Add deflate support to AsyncConn

Add support for AsyncConn to send deflate options in identify and wrap the socket with deflate compression. Also duplicated the battery of integration test but with tls+deflate stack instead of tls+snappy.
Stopping on `identify_response` stops this before the actual socket upgrades happen on the client side. That stop is helpful for checking we get the right identify response but we should probably also add the following to make sure the socket upgrade works.

```python
c.on('ready', self.stop)
....
response = self.wait()
assert isinstance(c.socket, DeflateSocket)
```