Fix nickname and channel detection

* Nicknames were assumed to be in [A-Za-z] format. Just detecting
  a [^!] now as ! separates the nickname from the host.
* Channels may start with two hashes, the previous regexp didn't
  recognize that.
Fixed advert command
Added the duck generation module.

The duck generation module listens to the "duck" command. It will
then generate a random duck based on https://github.com/adyxax/hsbot
with some additional heads and beaks.