Make porcelain more consistent.

Parameter repo is now always a repo. Where a path is used, the
parameter is named repo_path. Before it was hard to keep track of
type(repo), as it changed from function to function.

Yeah, I know you don't like such big cosmetic commits, but I think
this makes `porcelain.py` more explicit (see PEP 20).