Adding retry logic and exception handling for dynamodb

Started this as a discussion piece to work on with @pedro. 

Basic goals:

* Add retry logic
* Add exception handling 
* Add some tests.