Only allow one release/release-repo to be specified / deployed

  * bump version to 0.4.0

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Remove unused pre/post promote hooks

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Normalize style

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Remove indirection that we no longer need

Signed-off-by: Aram Price <aprice@pivotallabs.com>
DeploymentStrategy has create, upload, deploy methods for release

Signed-off-by: Aram Price <aprice@pivotallabs.com>
DeploymentStrategy subclasses implement create/upload release methods

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Rename methods on FakeBosh for clarity

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Using yield like a ruby developer

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Move #deploy_release up to DeploymentStrategy

* deployment hooks now wrap only release deployment, not creation and uploading

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Move hook installation to initializer

* this prepares us to break up #create_final_release_and_deploy!
* clean up variable usage and naming

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Rename for clarity

Signed-off-by: Aram Price <aprice@pivotallabs.com>
Fixup and backfill specs

Signed-off-by: Aram Price <aprice@pivotallabs.com>