Refactor usage of --quiet flag in git commands
Run `git remote prune origin` before fetching to prevent collisions

When a branch is named something like "features/stuff", it will collide
with branches that were named "features" even if they were deleted
from the user's machine. The only way to force git to clean up this
situation is to run `git remote prune origin` before fetching.

This seems like an inconsistency in git, since it would make sense for
`git fetch --prune origin` to handle this.
Avoid failing on composer self-update.

Only run `composer self-update` if the composer binary is owned by the
running user. If composer is owned by, say, root and a non-root user
runs causes `composer self-update` to be run then the command will fail.
Merge pull request #82 from engineyard/composer-self-update

Avoid failing on composer self-update when composer is not owned by $USER
`input_ref` and `deployed_by` config options are real options.

Previously, these were found via method_missing, which was sloppy
and caused errors when the values weren't available. Giving them
sane defaults will prevent failures when the values aren't set.

[SS-220]
Merge pull request #83 from engineyard/input-ref

`input_ref` and `deployed_by` config options are real options.
Merge pull request #80 from engineyard/prune-then-fetch

Run `git remote prune origin` before fetching