Refactor stage_collection spec

Break out common_os_stages in preparation for prebuilding these assets
Create Stemcell::Agent::NullAgent class

Created in order to create a Stemcell::Definition without specifying
either the Go or Ruby agents.
Create Stemcell::Infrastructure::NullInfrastructure class.

Created in order to use a null infrastructure in a Stemcell::Definition.
Refactor StageCollection.

Expose #operating_system_stages, #agent_stages, #infrastructure_stages
as public methods. Remove #all_stages public method.

Signed-off-by: Johannes Petzold <jpetzold@pivotallabs.com>
Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
refactor private methods in BuilderCommand into BuilderCommandHelper

Signed-off-by: Johannes Petzold <jpetzold@pivotallabs.com>
Formatting

Signed-off-by: Johannes Petzold <jpetzold@pivotallabs.com>
Create tarball from chroot after OS stages

Signed-off-by: caleb miles <cmiles@pivotallabs.com>
Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Rake task to upload os image

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Rake tasks to build a stemcell from a base OS image

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Run server specs after building images.

  * OS image specs for the OS images
  * stemcell specs for the stemcells

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Add another vagrant VM for building stemcells

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

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