Merge pull request #40 from csmith/master

Specify proper dependency versions.
Remove all usages of getCallbackType.

All callbacks are now done through getCallback, which offers
type safety (gasp!) and is potentially extensible in the future
(wow!).

This means that nothing can depend on callbacks existing, so
there are two functional changes:

 - the parser will no longer disconnect automatically on failed
   pings; users have to listen for the event and handle it
   themselves;

 - the parser will no longer attempt to automatically use alt
   nicknames or create new nicknames on connection; users have to
   listen for the event and implement the logic themselves

Both of these were really weird anyway, as adding a listener (even
for debugging purposes) disabled the built-in behaviour.