[digitalocean|compute] allow bootstrapping with keys rather than paths

* Allows specifying public_key and private_key rather than public_key_path and private_key_path. Useful for Heroku where you don't have direct access to the filesystem and need to specify keys in environment variables.
[aws] mock block device mapping on run_instances
Fix subnet mocking, related to #2510
Fix DhcpOption#associate
Merge pull request #2518 from drcapulet/master

Fix subnet mocking, related to #2510
Merge pull request #2514 from fcheung/request_spot_instances_time_coercion

[AWS|EC2] request_spot_instances.rb requires that date parameters be iso...
Merge pull request #2520 from engineyard/aws_block_device_mapping

[aws] mock block device mapping on run_instances
addresses and settags
[aws] mock setup block device deleteOnTermination
Merge pull request #2522 from engineyard/aws_block_device_mapping

[aws] mock setup block device deleteOnTermination
Merge pull request #2519 from drcapulet/alexc/dhcp-option

Fix DhcpOption#associate
Merge pull request #2516 from jblancett/master

[storm_on_demand] don't pass host to request
Merge pull request #2513 from miketheman/2034_remove_dep_ruby_hmac

drop dependency on deprecated ruby-hmac gem, fixes #2034
Merge pull request #2515 from 12spokes/digitalocean-created-at

[digitalocean|compute] Add created_at timestamp as attribute of server
Always scrub data when deleting a server from DO
Hardcode some responses to tests
Record and Zone put requests are idempotent.
fix a couple of bugs
Merge pull request #2526 from icco/do_spunge

[digitalocean|compute] Set scrub data to true for all server destroy requests
add attach and detach disk