Adds a KinesisClient interface and a trivial test

First of all, thanks for this repo! It's been fun to play with.

Using a KinesisClient makes my code a little easier to unit test. And it seems like a trivial amount of upkeep moving forward?

I also did a `gofmt -tabs=false -tabwidth=2 -l -w kinesis*.go` on kinesis.go and kinesis_test.go, since, that seemed like the closest to the current formatting rule set. Let me know if you want me to remove the formatting changes though.