sqs.message: Raising an exception in decode() should not abort parsing

Since AWS seems to return Body before ReceiptHandle, raising an exception in decode() will abort processing before the receipt handle is read.

This is a problem, because there's no way to dequeue the message without the handle.

Instead, wait to invoke decode() until parsing is finished.
Modify EMR add_jobflow_steps to return a JobFlowStepList with a list of step ids, part of the latest EMR API updates.
Merge pull request #1835 from bodylabs/decode_sqs_message_after_parsing_finishes_2

Raising an exception in SQS message decode() should not abort parsing. Fixes #1835, #1833.
Add a basic test for new add_jobflow_steps behavior.
Test a second item to make sure the list is properly processed and not just the first item is returned.
Merge pull request #1838 from danielgtaylor/jobflow-steps

Modify EMR add_jobflow_steps to return a JobFlowStepList. Fixes #1838.
Update README version / release date