#192 fixes the infinite wait after a forever pending node
Merge branch 'release-0.94' into develop
node: fix for duplicate entries in known_hosts file

Thanks to @scrappythekangaroo for both reporting the issue and providing
the fix.

closes gh-208
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
spothistory: update help docs for -p option

The spothistory command now uses a web browser to plot the graph and not
matplotlib.
balancer: set matplotlib backend to Agg

This avoids:

TclError: no display name and no $DISPLAY environment variable

when running in a headless environment (e.g. SSH).
README: add downloads badge from crate.io
awsutils: force boto to use latest cacerts file

Temporary hack until boto/boto#1578 is merged/resolved. Fixes https
certificate validation errors in boto with Python installation's that
link to older versions of SSL (<0.9.8x).

closes gh-267
cluster: minor cleanup to wait_for_running_instances

* Make the timeout for terminating a pending instance a configurable
  kwarg: kill_pending_after_mins
* Log a warning when terminating instances that have been pending for
  too long.
Merge branch 'fix-forever-pending-nodes' into develop

Conflicts:
	starcluster/cluster.py

closes gh-192
closes gh-211
fix typo in config template (PROTOCOL->IP_PROTOCOL)

closes gh-279
faster CLI

Imports required for ipy_shell take a long time, so they are moved inside the function call.
For me this change brings down time needed for "starcluster" command from 0.45s to 0.25s.
pep8 fixes to make ./check.py pass
Merge branch 'faster-cli' into develop

closes gh-282
Revert "awsutils: force boto to use latest cacerts file"

This reverts commit 6f26ab5d841f8fb01cd46ba5462be8b1246e3a8c.

Conflicts:
	starcluster/awsutils.py

No longer needed now that boto 2.10.0 is out. Bumped boto dep to 2.10.0
in setup.py
setup: bump paramiko to latest 1.11.0 version