Add ability for Callable.rule to be a list.

This mirrors how Callable.commands can be a list and is needed so that
decorators can be applied multiple times to the same function.
Add handling for multi-line regular expressions with verbose syntax.

Verbose syntax needs whitespace characters and #-character to be escaped.
Using it only for multi-line strings, avoids having to fix all the modules
and allows for using the simpler syntax for simple regular expressions.
Add parameters to regular expression for commands.

This adds 4 new groups to match-objects for commands. The existing groups
stay the same so there should be no incompatibility with existing modules.

Tested with dice.py, calc.py and admin.py.
Refine willie.module decorator interface.

- Make so that decorators rule and command can be used multiple times,
  without them overriding each other.
- Add decorator example for completeness.
- Add a bunch of comments.
Add new decorator willie.module.nickname_command.
Update dice.py and reload.py to the new decorator format.

Dice.py is an example of how commands work. Rules work similarly.
Reload.py is an example of how the new the new nickname_command works.