Add the support of launching spot instances for ebs-backed and instance-store-backed AMIs

Hi,

To launching spot instances in "amazon-ebs" AMI #707,
Current solution is to patch on "step_run_source_instance" and "step_stop_instance" if "spot_price" is defined in the user configuration.
 1. "step_run_source_instance" would call "RequestSpotInstances" and "DescribeSpotRequests" APIs from **goamz** (also patched) to wait for the spot request switching from "open" to "active" (a new func added to check spot request status). Then everything goes  as the previous steps.
 1. "step_stop_instance" would skip to stop the instance as spot instance does NOT support that operation.

I have tested both in the on-demand and spot instance launching. It works well.
Please help review.

Thanks
Henry
Why? (honestly don't know)