Unregister and unbind modules from willie.bot when they are reloaded.

-Adds methods unregister and is_callable to willie.bot.
-Adds code required to remove references to willie callables, in modules
 themselves and willie, to willie.modules.reload.
Merge commit 'b47b88ee79f3b5586654c1da4653a81bbf77d37d' into reload_fix

Conflicts:
	willie/bot.py
Remove check for __hash__ and rename function parameter callable to variables.
[contrib] fix user name in tmpfiles.d willie.conf
[contrib/rpm] Add script to generate willie snapshot rpm package

Right now the generated packages work only on Fedora 18 or newer.
[contrib] have a nickname in the default config file
Add decorators for willie callable attributes to functions.
[web] Allow modules to control the headers sent with HTTP requests
Merge pull request #259 from Venti9874/reload_fix

Module reloading fix.
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.
[contrib] Make systemd wait 30 seconds before restarting willie on failure

Also make stopping the service more reilable
[gitignore] Add rpms to gitignore
[modules] remove executable flag from ping and twit
Merge branch 'decorators' of https://github.com/Venti9874/willie into Venti9874-decorators
[web] Make the new headers parameter in get_urllib_object optional