Add support for waiters

Added support for client and resource waiters.

```ruby
# client waiter
ec2_client.wait_until(:instance_stopped, instance_ids:['i-12345678'])

# resource waiters
i = ec2.instance('i-12345678')
i.stop
i.wait_until_stopped
```

Available waiters are documented in the service clients and resource classes.