bin/git-subup: Init child submodules, optionally pull

Refactor the 'git-subup' (submodule update) script to only
conditionally pull changes from each submodule's origin remote.

"git subup" will just ensure all submodules are checked-out.
"git subup pull" will additionally do a pull on each submodule to
look for updates.

* Use '--recursive' flag for update/sync/foreach subcommands to
  update any child submodules of first-level submodules.
* Conditionalize 'git pull' handling only if $1 == "pull".
* Don't assume that "remotes/origin/HEAD" is a valid ref; not all
  repo's will have an "origin/HEAD" ref. Instead, just force-update
  local "master" branch based on the current checked-out rev, so
  that when 'git submodule update --checkout' creates a detached
  HEAD we'll update our local 'master' branch to jive with HEAD so
  that any later 'git pull' will show all new revisions compared to
  the previous HEAD.
.gitconfig: Update git-subup aliases

* 'git sub' --> 'git-subup'
* 'git sup' --> 'git-subup pull'
.vim: Update bundle submodules