Fix atypical error handling in `cmd` functions.

Closes #194

More changes to make the code base more Go idiomatic. Specifically, removed the logf utility function in favor of Printf. Additionally, where `cmd` functions were printing out an error and returning an error code, they now return the error directly, allowing main to print them before exiting with a non-zero code.
Typically, the failure goes first, and then there is no need for an `else` at all, and there will also be no need for the `os.Exit(0)` since that is the end of `main`.

In other words...
```go
    if err := run(); err != nil {
        fmt.Fprintf(...)
        ...
        os.Exit(1)
    }
}
```