Add a 30-second keepalive.  Closes #2.