Update get_waiter to use new interface

I've added tests for this function (was previously untested)
to ensure we don't regress on this again in the future.

Also manually verified.

1. Launched a cluster
2. Ran `aws emr ssh --cluster-id <myid> --key-pair-file <foo> --debug 2>&1 | grep waiter`
3. Verified we were calling the waiter properly:

```
$ aws emr ssh --cluster-id <cluster-id> --key-pair-file <keypair-file> --debug 2>&1 | grep waiter
2014-10-17 13:57:13,069 - MainThread - botocore.waiter - DEBUG - Waiter ClusterRunning waiting.
2014-10-17 13:57:13,170 - MainThread - botocore.waiter - DEBUG - No acceptor state reached for waiter ClusterRunning, attempt 0/60, sleeping for: 30
2014-10-17 13:57:43,227 - MainThread - botocore.waiter - DEBUG - No acceptor state reached for waiter ClusterRunning, attempt 1/60, sleeping for: 30
2014-10-17 13:58:13,277 - MainThread - botocore.waiter - DEBUG - No acceptor state reached for waiter ClusterRunning, attempt 2/60, sleeping for: 30
...
```

cc @kyleknap @danielgtaylor