Use tracking info instead of <remote>/<branch> (closes #6)

Instead of checking every local <branch>, if <remote>/<branch>
exists, we now use tracking information to find out, where to
pull the changes from. This closes #6 and also fixes
aanand/git-up#52.
Fixed some code smells and improved formatting
Update 3rd party dependencies
Allow `git up --version` in non-git dirs, too.