[keepalive-handler] users can specify "keepalive" handler, default for keepalive events if it exists
Merge pull request #744 from portertech/keepalive-handler

Users can define a "keepalive" handler