Add list command + test + test utils.

List command with test utilities.  Does the same thing as in https://github.com/Shopify/brigade/pull/1 only now:
* with tests
* as a package

Coverage is:
```bash
$ go test ./... -cover
ok  	github.com/Shopify/brigade/cmd/list	1.288s	coverage: 93.8% of statements
ok  	github.com/Shopify/brigade/s3mock	0.158s	coverage: 74.5% of statements
?   	github.com/Shopify/brigade/s3util	[no test files]
```

It's now a package because 4 upcoming PRs introduce other commands, the last one joining them in a `main` package.

r: @boourns, @bouk, @camilo
cc: @snormore, @benbjohnson, @fbogsany 
It's very annoying to write methods that modify `[]things`, you have to dereference the slice all the time. It gives things like:

```go
func (s *MySlice) Pop() {
   (*s) = (*s)[:len(*s)-1]
}
```

Also, making it a field gives it a name, which I find helpful in conveying meaning. Finally, it's less trouble when you decide to change the field type.

I've gone around with this idiom. I initially used to do the `type things []thing` dance; but too many times it ends up being inconvenient to modify/work with. I've settled on the style above.