When requesting spot instances, looping untils SIR are returned by amazon
cleaning commit
awsutils: add EasyEC2.wait_for_propagation

Waits for newly created instances and/or spot_requests to register in
the AWS API by repeatedly calling get_all_{instances, spot_requests}.
Calling this method directly after creating new instances or spot
requests before operating on them helps to avoid eventual consistency
errors about instances or spot requests not existing.

Takes a list of instances and/or spot_requests and waits until all
requests can be returned by the AWS API before returning. Times out
after max_tries and waits interval seconds between tries.
cluster: wait for instance/spot requests to propagate

Updated Cluster.{wait_for_active_spots, _create_flat_rate_cluster,
_create_spot_cluster, add_nodes} to call ec2.wait_for_propagation
directly after creating new spot requests or flat rate instances. This
should prevent "instance/spot request not found" issues caused by
operating on an instance or spot request too quickly after creating it.

Removed unnecessary Cluster.wait_for_active_instances.
Cluster.wait_for_active_spots now waits for the instance ids allocated
to all active requests to appear in the API before returning. This
eliminates the need for wait_for_active_instances which was a hack in
the first place to deal with the transition period between a spot
request becoming active and an instance appearing.
Merge branch 'wait-for-propagation' into develop

closes gh-105
closes gh-163
closes gh-234
closes gh-268