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.
add accessors and documentation for listener data
reorder acceptor_data, since I was seeing inexplicable segfaults with the previous order
match pointer formatting