Add ability to send a ping message and notify delegates of "pong" responses

Replaces #184.

This lets clients add ping/pong logic to their connection as a keepalive or to check that it's still open.