For anyone interested in these features today, check out Git Annex. Fits all these requirements except for tagging. Add files just like with git, then git annex copy file --to some-remote. Intended for large files, you can Zip directories too if you like. I personally like directory organization but that's optional.