Make pings respect the queue.

- Add options to control the pings called keepalive.
- Alter the purpose of the create methods. createIrcClient is now only
  for testing. CreateIrcClient should be called when this type is
  actually going to be used.
- Add test for keepalive functionality.