When a CF stack is rolled back, stop waiting

If CloudFormation encounters a failure when creating or updating a
stack, it will rollback all the changes so that the create or update is
atomic. (This is very nice!)

This commit changes the functions that wait for a stack to be
created/updated so that they detect the rollback and stop waiting,
printing a message to the user that there was an error.
I think these parens are non-convention in Python