Add waiter config and fix config lookup

We need to use the service_name and not the endpoint prefix.
These aren't always the same thing (emr vs. elasticmapreduce).

Also added some integ tests to ensure we don't regress on this again.

Fixes #937.