Fix a bug where PONG doesn't return data included in PING.

On some servers, `"PONG "` is not an acceptable response to a message like `"PING :12345678"`.
Instead, `"PONG 12345678"` should be returned.

This commit does this by:
* Adding an optional `data` parameter to `message.Pong`
* Adding logic to `handlers.ping_handler` to get the param from the Ping message (if any) and pass it to Pong.