Error codes now returned correctly based on whether the program errored. Checked if the directory exists on the init command and throw a meaningful error if it does - Issue #20