Remove code duplication in executors
Reformat LICENSE
Update README
Add Cleaner executor
Update LICENSE
Fix source compatibility with Python 3

According to PEP 394, `python` should only be used in the shebang line
for scripts that are source compatible with both Python 2 and Python 3.

In previous versions of Dotbot, on certain systems where `python`
referred to `python3`, running Dotbot would throw an exception due to a
SyntaxError. This can be fixed by making Dotbot source compatible with
both Python 2 and Python 3.
Update LICENSE

Make license file plain ASCII text.
Make Linker check for existence of targets

Linker now reports an error when links are configured to point to
nonexistent targets. This fixes the old behavior where Linker silently
created invalid links.
Display better error message when linking fails

When failing to symbolically linking files, display the names of the
files that could not be linked. This makes it easier to troubleshoot the
error without having to manually figure out which files failed to link.
Add keyboard interrupt handler
Update README
Update README
Fix portability for install script
Fix bug in install script

Double quote array expansion to prevent breaking on spaces.
Make install script safer

Call `set -e` to make the script exit if any command fails and `set -u`
to treat unset variables as an error.
Add link to tutorial
Clean up code
Fix bug in install script

Do not treat unbound variables as an error.
Fix whitespace error
Update README

Improve documentation with specification and an example for each type of
task.