Initial support for preparer assistants as requested in #83
Don't write subassistant path into .devassistant file twice
Refactor dependency installation into separate command
Allow installing dependencies according to existing .devassistant file
Fix exception raising in run_command
Modify YamlAssistant._evaluate to return output even on command failure (now returns tuple '(success, output)'.
Handle situations when git cannot checkout because of existing directory. This is the last basic step to preparer assistants. Some work is still left to be done, but this fixes #83