Add first checkpoint and interface

@bernerdschaefer any opinion on the file structure in this repo? 

```
buffers.go
emitters.go
checkponts.go
```

My current plan is to create several general files that define an interface and then add different implementations to each file. i.e. `checkpoints.go` would contain interface `Checkpoint`, `RedisCheckpoint`, `DynamoDbCheckpoint`, etc.

Another option could be to create a directory to namespace?

```
/checkpoints/checkpoint.go
/checkpoints/redis_checkpoint.go
/checkpoints/dynamo_db_checkpoint.go
```

* Add first checkpoint implementation of RedisCheckpoint.
* Move MsgBuffer into the buffers.go file.