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.
I'd prob. print to stderr if that's desired: `fmt.Fprintln(os.Stderr, err)`. Reference: http://golang.org/pkg/fmt/#Fprintln