Add waiter for instance_terminated

 - Since the destroy example wouldn't previously execute successfully in
   a single run, this demonstrates using wait_until to allow for working
   around the dependencies that require multiple runs to delete.

   I think doing this, while it slows deletes down, is worth it. I
   don't think we should wait everywhere, the parallelisation of
   everything coming up at once is too useful in my view. Worst case we
   could make this toggleable with a shared param.
 - Note that destroy.pp was also modified to use the notification arrow
   to ensure the proper ordering.  The current code does not have a way
   to properly order resources being torn down with ensure => absent,
   given that would require extra API roundtrips to be more aware of
   dependencies.
Simplify tests for create / destroy

 - puppet-sg is a leftover from previous code, and is not used by any
   instances, so remove it
Merge branch 'delete-in-one-go'

* delete-in-one-go:
  Simplify tests for create / destroy
  Add waiter for instance_terminated

  closes #27