Corrected error message in backup/__init__.py
Improved support for backing up multiple hosts.

Restructured the run method of the Controller class. The method loops
over the configured hosts and handles exceptions separately for each of
them. If one backup fails, the exception is logged and the program moves
on to the next host. The program exits 0 only if no error occured.
Allow hosts list not to be declared in config and command line.

If the hosts key in the default section is not defined and no hosts were
specified on the command line, all hosts defined as sections in the
configuration are used to build the hosts list.
Added the -e hidden argument. Use it to specify an rsync executable.

Useful when debugging. If a developper whishes to debug the program but
skip the actual rsync subprocess, the arguments "-e echo" can be used.
This will just echo the arguments to stdout, backup will log that and
move on. If no executable is specified, echo is used by default.
Fixed info logging in Controller's run method.
Properly handle KeyboardInterrupt in controller module.