Present repos with more than 1 Go package in a better way.

- Output is valid import path pattern for go get, go list.
- Output is deterministic (except order). Fixes #13.
- Remove command/library distinction "/", as that isn't relevant on a per-repo level.
- Display "!" instead of "+" for repos with no remote (hence remote revision cannot match local revision). Fixes #12.

I've been rolling with these changes the last week, and it feels like an overall improvement. It fixes two issues.

The output is deterministic and valid as an import path pattern, so it's possible to use `go get`, `go list` for repos with more than 1 Go package like this:

```bash
$ go list all | gostatus 
  + code.google.com/p/go.tools/...
b   github.com/go-gl/glfw3/...
  + github.com/google/go-github/...
 *  github.com/shurcooL/Conception-go/...
 *  github.com/shurcooL/go/...
 *  github.com/shurcooL/goe/...
b   github.com/shurcooL/gostatus/...
 *  github.com/shurcooL/markdownfmt/...
 *  github.com/shurcooL/pipe/...
 *  github.com/shurcooL/play/...
$ go get -u github.com/google/go-github/...
$ go list github.com/google/go-github/...
github.com/google/go-github/examples/markdown
github.com/google/go-github/examples/repos
github.com/google/go-github/github
github.com/google/go-github/tests/integration
$ 
```

I'm pretty sure no one will notice that the "/" symbol for Go packages is gone. It wasn't very relevant, and it hardly applies for repos with more than 1 Go package.

If you do need to find out, use this `go list` command:

`go list -f '{{if eq .Name "main"}}/{{else}} {{end}} {{.ImportPath}}' all`

Feedback is welcome. If there are no objections, I'll merge in a few days.