Support linting remote GitHub projects via the API

A pretty big chunk of changes, this PR provides support for linting remote projects by passing `--github owner/repo` in the command line (so you don't have to clone the project locally). I want to use some of this code in a small web app, so I tried to separate the CLI stuff from the rest of the library.

Since I'm still learning idiomatic Go, I'd :heart: some :eyes: from @penland365, @jingweno, and @rubyist if y'all have the time.
Hmm...not sure I dig nesting `if`s if we could avoid it, how about: 

```go
if flags.RunReadme && !p.CheckReadme() {
  ...
}
```