improvement: cache events, use IDs only on Kinesis bus

* send events to API first before they hit the event bus
* use a local LRU event cache to avoid serializing events
* error handling and logging improvements for debugging
Merge pull request #2 from logscale/cache_events_in_bus

improvement: cache events, use IDs only on Kinesis bus