do not overwrite config block settings

If a  block fails or doesn't provide every field, we should fallback to
the config field. To do so, duplicate a block from the config before
updating it.

Thanks to static allocation, the code has been simplified.

Fixes #4
overwrite block on failure
add signal support

Now a block can specify a signal used to force its update. For instance:

    [volume]
    command=echo -n 'Volume: '; amixer get Master | grep -E -o '[0-9][0-9]?%'
    signal=10
    # no interval, only check on SIGUSR1
do not update if interval is 0
click_events is not supported yet
change program description in source files
extract and rewrite the manpage

The project's README won't be the manpage anymore. Instead, extract it
to i3blocks.1.ronn.
add a simpler README file
highlight a few words
explain how to setup i3blocks