Made rake ci:promote idempotent

- Standardized on using Open3.capture3 with logging
- Added new i:promote argument: feature_branch (was previouly hardcoded
  to develop)

[#81219724]
Adding volume_type configuration for Micro BOSH.
Updating to use the recommended persistent_disk_cloud_properties syntax.
Add tests for persistent_disk_cloud_properties

Signed-off-by: Zachary Auerbach <zauerbach@pivotal.io>
Update disk will now apply a new ebs type if size changes as well

Signed-off-by: Zachary Auerbach <zauerbach@pivotal.io>
Fix line too long violation

Signed-off-by: Zachary Auerbach <zauerbach@pivotal.io>
Attach persistent disk before deleting vm when recreating the vm

Signed-off-by: Phan Le <ple@pivotal.io>
Convert to new rspec syntax

Signed-off-by: Phan Le <ple@pivotal.io>
Move shared code for vm recreation test into external function

Signed-off-by: Phan Le <ple@pivotal.io>
Add integration test for recreating VMs with dead agents

Signed-off-by: Phan Le <ple@pivotal.io>
Create a logger in receipts.rb instead expecting to pass in

Signed-off-by: Phan Le <ple@pivotal.io>
Use non-locking mono_logger in micro cli

* This is to be able to log when rescuing errors

Signed-off-by: Phan Le <ple@pivotal.io>
Added hypervisor_name argument to rake spec:system:deploy_micro

Signed-off-by: Phan Le <ple@pivotal.io>
Fixed ci:promote trying to gem push instead of git push

- when pushing code to the stable branch

[#81219724]

Signed-off-by: Phan Le <ple@pivotal.io>
Adding final release for build 2754