update aws-sdk to fix issue with encrypted blobs

AWS upgraded OpenSSL and introduced a regression for aws-sdk
blobs using encryption.

"These issues have existed in the code for some time, but negative
effects were only recently realized when a change in OpenSSL behavior
resulted in empty packets being sent over the wire - yielding these
caused exceptions downstream, rather than waiting for the content to be
sent. That issue should no longer occur"

See https://github.com/aws/aws-sdk-ruby/issues/557#issuecomment-45390398
for upstream bug and fix.

https://github.com/aws/aws-sdk-ruby/commit/0898b0cbfb5ab883249c286bbdcd47359da83f9e
is the patch we need. This patch is applied to v1.44.0.

Thanks @frodenas for bug hunting with me.
Fail fast(er) when AWS spot creation errors detected
Explicitly cancel spot request when erroring; rather than having AWS expire it for you.

Reduces the chance of having rogue spot requests
Mark spot creation VMCreationFailed errors as not retryable
Extract AWS spot instance logic to SpotManager class and simplify related tests
Refactor to simplify SpotManager::wait_for_spot_instance_request_to_be_active
Add BOSH_AWS_LIFECYCLE_MANUAL_IP to lifecycle tests

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Refactor AWS spot manager + tests

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Wrap CPI error in VMCreationFailed error

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Use new rspec expectations in lieu of should

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Split up base_apt stemcell building stage

* Created ubuntu_firstboot stage
* Moved a bunch of stuff

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Require ConsoleCodes formatter before using it

This fixes an issue with running tests in RubyMine.

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Refactor OS image stages

  * Separate build-essential from other packages so libraries can be built
    before packages are installed
  * Remove build-essential from CentOS; there is no such package and the
    libraries we need are already installed
  * Separate packages from package manager setup

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Refactor StageCollection

  * Remove common_os_stages, just put the stages where they go in each OS's
    stages
  * Removed unnecessary `let`s

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Add stage to compile openssl from source

Package managers take too long to update when there are security
vulnerabilities. Compiling from source means we can update as soon as a new
release is published.

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Refactor StemcellArtifacts spec to be easier to change

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Remove vSphere ruby agent stemcells from artifacts list

Signed-off-by: Kris Hicks <krishicks@gmail.com>
Merge final release for build 2624 to develop

Conflicts:
	Gemfile.lock
Hardcode OS image temp dir

The temp directory generated on host and passed into the stemcell-building VM
might not exist in stemcell building VM.

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Remove time-related assertions from spot manager tests.

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>