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 
Passing a logger around as a function argument is annoying. There's no difference in the stdlib `log` package between errors and normal message; and I want that difference. So I'm making it a global here.

Other ways would be passing it as arguments to each and every function, or making a `brigade/log` package with a global logger. Or use `github.com/golang/glog` which offers package visble logger, with different files for different log levels.

Thoughts?