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 convenient when I author the types: 

* I first define an empty interface I need
* I use it in my code and add the methods I see I'll need.
* Last I implement the interface with concrete types.

Since there's no much cost leaving the interface definition there after, I've left it there and didn't give it after thoughts. I guess to tidy up, I should remove them.