Add EC2 error message to logging; Add interval multiplier to spot instan...

...ce and wait_for_ip polling

This modifies the `clouds/ec2.py::wait_for_spot_instance` and `utils/cloud.py::wait_for_ip` methods to add an optional argument `interval_multiplier`. If set to a value greater than one, the interval will be multiplied on each subsequent request. This is useful for getting around throttling issues from cloud providers (especially EC2.)

NOTE: The default functionality of the modified methods has not changed, but may be overridden with new configuration parameters.

Additional optional configuration added:

* `wait_for_spot_timeout` - the timeout for waiting for spot instances
* `wait_for_spot_interval` - the initial interval in seconds to wait before checking again
* `wait_for_spot_interval_multiplier` - if set and greater than one, will multiply the current interval by the multiplier after each request
* `wait_for_spot_max_failures` - total number of spot instance check failures before quitting
* `wait_for_ip_interval_multiplier` - just like `wait_for_spot_interval_multiplier`, but for the `wait_for_ip` method in utils/cloud.py