Plumbing commands

This PR add extra plumbing commands, and reorganizes some porcelain commands to separate their plumbing-like parts

It is based on https://github.com/opengeo/GeoGit/pull/42