features to keep git repos up-to-date

fix git fetch cmd to work in non-bare repos

make sure we fetch the latest from remote before attempting to checkout
a branch that may not be available locally

if tied to a branch, make sure the latest remote commit is pulled in and
checked out