add support for "event commands"

Some commands can sleep until an event is fired. This commit allows
i3blocks to support these kind of commands: the sleeping command is
started in a thread, and the status bar is updated instantly wherever
the subprocess exits.

The sleep command is then started again to wait for the next event.

When a wait command and a "normal" command aware both configured, the
"normal" command will be called on the very first time to get instantly
the status data.

This requires a dependency with POSIX threads library.

I also added examples of the `wait_command` configuration in the main
readme, the manpage, and as a commented block in the default configuration,
using mpc(1) with `--wait` option to get an "event" when the current song
played by mpd(1) changes.

My editor also removed automatically trailing whitespaces in some files,
I home this is not a problem.