stop Mojo::IRC method chain from sending reply

Mojo::IRC->write returns the Mojo::IRC object. If we have that call at
the end of our route callback, we will return it. To anticipate this
problem, check to see if they're returning a Mojo::IRC object and ignore
it.

This prevents needing an explicit return at the end of the sub, and
prevents the inevitable support question about why their plugin is
sending "Mojo::IRC=HASH(...)" with every reply.
move basic irc message test into common module
add docs to the say plugin
add missing ABSTRACTs

`ack -L ABSTRACT lib` will find all files in lib missing an abstract