refactor sync_repo and friends

upgrade_repo, sync_repo (previously clone_repo), and
clone_vundle have been merged together into a much simpler function.

sync_repo now relies only upon passed arguments, nothing explicit
from the global scope.
pass bundle default file to setup_vundle
embed the error message directly in program_exists
print messages from do_backup
print message from create_symlink
use lnif throughout
move fork maintance files setup into their own function
move lnif() out of SETUP FUNCTIONS section
finish passing arguments to create_symlinks()
fix 3 more indents