Add data pointer to listener struct.

This allow us to preserve more state about the listener object when we handle an accept than was previously doable.