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 
Why this interface? It's internal, it only has one implementation (as far as I can see), and you have this annoying compile-time type check.