examples: (irc) catch shorten exception in lib/url
examples: (irc) shorten bm url
core: terminate a filter by closing its input pipe

A plugin is required to be a filter, that means that to terminate it,
the core just needs to close its standard input pipe end.
examples: (irc) put bm job in background

A plugin is required to be a filter, this means that it should listen to
its stdin (even if it doesn't use it) and exit when it is closed.

This commit updates the bm script accordingly.
core: add make "doc" target
Makefile: remove SYSCONFDIR and improve VERSION
add .gitignore
add a Dockerfile

This Dockerfile allows to build a modulo container which can be used as
a base for bots.
examples: (irc) add a Dockerfile

Based on a "modulo" container, this Dockerfile helps creating a
container to abstract the dependencies and how to run the bot.