Handle case where only type key is defined in waiters

There's an issue where the acceptor type is defined in __defaults__
but no other values for failure is defined.  This causes undefined
behavior for us and results in any waiter config that has an
acceptor_type defined in a parent config but no explicit failure_*
values throwing an exception when used.

The fix is not ignore these specific waiter configs.
Fix CopySnapshot handler

This was previously crashing because the event interface was updated
to remove the operation object being sent as a kwarg.  This commit
adds this back.

To ensure we don't regress on this again, I've added an integration
test that actually copies a snapshot (encrypted and not encrypted).
This will ensure that this functionality will not be lost despite
any changes we might make to handler interfaces.
Merge branch 'fix-ebs-copysnapshot' into develop

* fix-ebs-copysnapshot:
  Fix CopySnapshot handler
  Handle case where only type key is defined in waiters