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.