Fix for when a repository fails to clone or pull and purge deletes everything

Fix for #178
With this change, if a Puppet module fails to install then this will abort the entire run. We need a way to delineate between errors that we can proceed from (an environment couldn't be updated, a module failed to update) and errors that must abort the entire run.