Unified rev-parse, with a revision object

My take on Ben's PR. Does this look more reasonable?

/cc @ben @arrbee