Add option to wait for AWS CloudFormation commands to complete

Before this PR, the functions to create/update/destroy CloudFormation stacks were "fire-and-forget" in that they would issue the commands to AWS but not provide any mechanism for inspecting the status of the command. This was frustrating because the commands take 1–5 minutes to complete, and I wouldn't know when they finally did finish except by refreshing a page in the AWS web console.

This commit adds a `wait` parameter to the CloudFormation functions, which will check the status of the command every 5 seconds until the command is finished, at which point the function returns. This is much more convenient.
These sleep loops seem like they could be DRYed up, since they're almost word for word repeateed