XXX: This is what happens when we deploy a non-bare repo

@clarkbarz had this case:

 * live is `aaaaa`
 * merge master in live
 * fab deploy
 * now live is `bbbbb`
 * Scott reverts by doing: `git checkout live && git reset --hard aaa && git push origin live --force`
 * fab deploy

Since fab deploy does `git pull` (which does git merge in the background) nothing happens, and the revert is not effective.



I'm working on a new project layout (where `media/`, `static/` and `backups/` are not in the project) so that we don't have to use `git` (but `rsync --delete`). We won't have those problem. (And we won't have the migration problem either, migrations are still available through `.pyc` files)