A simple Bash script with Git submodules satisfies all those criteria, other than the fact that it should be a separate tool! Feel free to steal ideas from my script if you want to build your own tool: https://github.com/aclissold/dotfiles
I thought about how it should look when I do a fresh install:
sudo apt-get install vim zsh git git clone my repo into .dotfiles cd .dotfiles ./update.sh
and I'm right back to where I was. :). The script differentiates between Mac OS X and Linux, and running git pull followed by update.sh also syncs any changes I may have made on another machine to the current one.