Support throttled request mitigation

I needed to support table throughput scaling based on throttled read and write events in addition to consumed throughput. 

The use case comes up with a DynamoDB table that has hot spots (possibly due to poor key design). When hot spots occur the consumed throughput may be much less than the provisioned throughput, but throttled read and write events still occur. The pull request adds components to monitor throttled read and write events via CloudWatch and scale table throughput up if needed.

Feel free to reject the pull request--in some sense handling scaling based on throttled events may promote bad DynamoDB key design. I needed the functionality though since I cannot change the key structure in my project for better throughput utilization.