Better expectation in delete_stemcell for AWS CPI

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
formatting

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
Annotate globally stubbed evil logger

Global stubs are surprising because they affect *every* test that has
`spec_helper` `require`'d.
This commit adds a descriptive name to the logger so that in tests that
expect the logger to work, we at least know where the stub comes from.

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
Replace #to_h with #to_hash for block device mappings

The object is either a Hash _like_ object that responds to #to_hash, or
a Hash. #to_h is only defined on the former. This change will eliminate
a NoMethodError that surprises people.

Signed-off-by: Jesse Zhang <jz@pivotallabs.com>
Separate #image_id from #id for AWS stemcells

Semantically, the stemcell id should be an opaque (to the director)
string understood by the AWS CPI to identify a stemcell. On the other
hand, the image id used to identify an AMI.
The current implementation conflates the two concepts and causes subtle
bugs when we handle "light" stemcells.
This commit starts the work to separate stemcell identifiers from AMI
identifiers.
Light stemcells use different stemcell ID's

The AWS CPI supports an optimization called "light stemcells". A light
AWS stemcell is not a full disk image, but rather just a reference to an
AMI. The AWS CPI has been conflating an AMI ID with a stemcell ID on
AWS: when the BOSH director creates a stemcell, the identifier returned
by the AWS CPI was the AMI ID. In the light stemcell case, the stemcell
ID returned was also the referenced AMI ID. This means that when BOSH
director tries to delete the stemcell later, the CPI won't have a good
way to tell the two apart, and hence could only always try to deregister
the AMI, which is undesirable.

This commit changes how light stemcells are identified and behave.

- Stemcell ID for light stemcells now end id " light"
- AWS CPI will no longer attempt to deregister the AMI when deleting a
  light stemcell.

[fixes #61408126]
Comment on why we suppress AuthFailure

We have to keep this old code path for compatibility reasons.
add an integration test exercising light stemcells
Bump curl version in stemcell serverspec