Refactor platform in agent for future RHEL support
Add skeleton in agent platform for RHEL support
CRLF fix
Added rhel compatibility stuff, refactored a lot of code and updated
tests.
Merge remote-tracking branch 'upstream/master' into platform

* upstream/master: (101 commits)
  Add S3 bucket to AWS config template; tidied bucket_name method
  fix ci script after reverting deletion of one of them
  minor cleanup for bat tests
  Added ci_build.sh back for non-stemcell builds
  Update LICENSE and NOTICE for bat-release
  Bundle update to include JSON security patches
  consolidate 3 scripts for the 2 stemcell builds to 1 script
  Director and Agents should always use same bucket_name
  Fix bosh micro apply
  removed Checkfile from repo, placing it in ~/Checkman/bosh for security.  See kirkham
  don't set a name if we don't have one
  single rake task for dev flow which runs unit and integration specs, remove single task which ran all (including system)
  fix stemcell build script
  Use staging branch for cf-release deployment
  unify jenkins stemcell build scripts
  still trying to simply travis configuration
  revert to preparing all the gems for each gems build_with_dep
  bump aws-sdk dependency to ~> 1.8.1.1 due to issue 142 at github.com/aws/aws-sdk-ruby
  simplify travis configuration
  Fall back to 'simple' (string, not method) in director config template
  ...
CRLF fix
Update vendor/cache with new gem copies
Remove unused templates
Fixed some bugs  in platform
Added tests
Merge branch 'master' into platform

* master: (40 commits)
  CRLF
  WIP debug Jenkins stemcell build failure
  more echoing in shell scripts to debug jenkins
  Fix BAT stemcell tgz regex to handle timestamps added bosh elasitc ip in aws bootstrap template
  add echos to stemcell bash script for debugging
  change environment variable names in external spec to reflect changes in Jenkins configuration
  speed up stemcell verification
  Rename environment variables used by CI for safety (so they dont match AWS variables)
  create rake task and ci build for bosh external tests
  Lower version of net-scp from 1.0.6 to 1.0.4 for now, since 1.0.6 has been yanked from RubyGems.org and we have a dependency that hasn't upgraded from 1.0.6 to 1.1.0 yet (fog)
  fix Travis configuration we just broke
  switched from Highline.agree method to Bosh::Cli::Command::Base.confirmed?
  create the bat deployment directory, attempt to flush STDOUT synchronously during rspec run
  remove (secure) AWS credentials from Travis configuration
  Code review changes
  [cli] Print director's feature extras
  [director] info endpoint returns extra info for features
  convert relative path to absolute path for stemcell paths on CI
  WIP extract externally dependent specs from subdirectories into spec/external
  even more output from failed commands in CI
  ...

Conflicts:
	bosh_agent/bosh_agent.gemspec
	bosh_agent/lib/bosh_agent/platform/ubuntu/password.rb
Merge branch 'master' into platform

* master: (61 commits)
  CRLF
  Improved if_p can chain #else_if_p,  #else methods
  Fix broken unit specs
  Check if ext4 lazy_itable_init is enabled before using it
  Add 'lazy_itable_init' option to mke2fs [fixes #44226189]
  make agent not format the ephemeral disk
  Change property subnet in bat template
  Added RDS options to aws config yml
  Revert 'CI to use single AWS destroy command'
  CI to use single AWS destroy command
  Normalized `bosh aws delete_all` commands [#44112527]
  AWS bootstrap force adds keypairs
  Add echoes to scripts used to create MicroBOSH stemcell to debug failing Jenkins build
  Print and capture output simultaneously in AWS specs
  External specs refactored and set up to use different AWS credentials than the Jenkins VM
  Update README.md
  Update README.md
  Update README.md
  bosh aws destroy [fixes #44112527]
  remove echo's after finish debugging jenkins build
  ...
Merge branch 'platform' of github.com:ankurcha/bosh into platform

* 'platform' of github.com:ankurcha/bosh:
  CRLF
Merge branch 'master' into platform

* master: (22 commits)
  make AMIs public in CI
  fixed bugs in stemcell creation
  include original config in receipt
  Better message when deleting unnamed instance
  Update BAT README with new BAT environment options
  Support fast failure and skipping SSH tests in BAT via environment variables
  Changed director job template to use new style properties in bosh/release
  updated badges in README
  Don't reuse dns_info_record (fix for recreating jobs)
  use sigar instead of sys-filesystem
  remove trivial whitespace
  Update blobstore_client gemspec for renamed README & example config [fixes #49]
  [finishes #44595437] allocate an extra elastic IP for the DEA in dev/test
  Fix failing bat manifest specs
  example usage of blobstore_client_console
  Convert tabs to whitespace
  Fix spec:system:aws
  AWS script should not remove protected instances resources [fixes #44549997]
  BAT_DNS_HOST is not optional
  CRLF
  ...

Conflicts:
	bosh_agent/lib/bosh_agent/message/disk.rb
Merge branch 'master' into platform

* master: (184 commits)
  CF system spec creates RDS resources first
  fix microbosh system spec vpc/rds outfile paths
  fix microBOSH spec after deployment generator was changed to take two arguments
  enhance cpi tests for aws plugin and error message
  microBOSH system spec creates BAT deployment directory just when needed
  HTTP plays well with a proxy environment
  add retryable functionality to Bosh::Common module
  Move generate_build_number into CompiledPackage, add specs for it
  Added logging for uploading compiled packages to global cache
  Global cache key respects dependent package versions
  No need to check if it is a block device now
  Add some changes to pull request #59
  fix randomly failing aws boostrap cli spec
  move bosh_agent/misc/temcell/uild2 to the top level directory
  Added some tests and made changes to handle \n in the filename if any while searching for cdrom device
  vendor retryable gem
  Add Retryable gem
  added bosh-stemcell-vsphere 0.8.0 (test)
  update stemcell build for 3.0 kernel
  Use if_p in director template so it doesn't blow up when global_blobstore is missing
  ...
cd into spect_tmp_path in spec:system tests before creating microbosh
enable bat:disk 'should create a disk' example
make cli work with rubygems 2
Added support for retrieving from global compiled package cache
Remove comment from Rubygems2 cleanup
Changes to allow running Bosh on Ruby 2.0