fix(server): reschedule keep alive interval timer once a pong is received
fix(server): reschedule keep alive interval timer once a pong is received

`KeepAliveState` did not transition from `PingSent` to `Scheduled` after
a pong was received. This prevented more than one ping to be sent by the
server. This fix checks if `ping_sent_at` has already been cleared by
`Ponger::poll` when `KeepAliveState::PingSent` state is active.

Fixes #2310

hyperium/hyper,tshepang/hyper,tshepang/hyper,tshepang/hyper,hyperium/hyper,hyperium/hyper