[cli] Change literal when using remote releases [fixes #51829921]
Inline redundant locals
Spec for MicroBoshRelease and reduce shelling out
Use single quotes for uninterpolated strings
Move upload logic out of rake task to test it
DRY s3 upload
create Bosh::Dev:BatHelper to encapsulate stem cell download and ENV setting

 * add rspec-fire to bosh-dev/spec/spec_helper.rb
rake task ci:system:micro[<INFRASTRUCTURE>] uses BatHelper
Pipeline exposes #latest_stemcell_filename method
BatHelper exposes #bosh_stemcell_path and #micro_bosh_stemcell_path
spec:system:<INFRASTRUCTURE>:micro tasks use BatHelper to locate stem cell files
BatHelper provides directory names for build artifacts

 * micro bosh (and eventually bosh) deployment YAML files
 * eventually stemcell downloads
spec.rake uses BatHelper to determine directories for bat artifacts
BatHelper knows how to sync s3://bosh-ci-pipeline to s3://bosh-jenkins-artifacts
Move artifact sync from BatHelper to Bosh::Dev::Build
DRY pipeline references
Bosh::Dev::Build no longer needs to be a Struct
Modify s3_upload to take key since it knows its bucket
Namespace spec for consistency
DRY double