[kinesis] Allow fully manual checkpointing
For my use case, neither checkpointing every n seconds nor checkpointing by returning true from the processing function is fine-grained enough. I suggest the changes in this PR. Note that I haven't tested this code - wanted to see whether you're open to this change before I spend any actual time on it.
Cleaned up the things you had questions about. Now *checkpointer* is always bound when processor is called, and each checkpoint strategy is explicitly handled, except for :manual, which is handled by doing nothing.
So is this ready to be merged?
With this latest commit it's working for me and I'd say it's ready to be merged. The version of the aws sdk that amazonica uses doesn't define a UserRecord.getEncryptionType method, so I just removed that line. I didn't see anywhere else in the codebase that :encryption-type was referenced.
Anything I can change here to get this merged?
@mcohen01 ?