Simplify how content gets mangled.
The many layers of abstraction were unnecessary at this point so I've
pared the code down to the bare minimum based on this POC code:
https://gist.github.com/1343603
Now how we mangle content is based on a wee hash that only takes into
account the current action and the cm (i.e content mangler)
parameter. We decide what to pass into the mangler basde on a wee hash
in ContentMangler which defines the relevant parts of the stash to
pass in. A ContentMangler::Transformer now simply returns a hash that
will be reintegrated into the stash, none of this
action-at-a-distance.
The things that used to work before (diffs & perl code) should
continue to work. I've also added a POC that will PODify blobs
accessible by setting the cm query parameter to doc e.g
http://localhost:3000/Gitalist/master/blob/lib%2FGitalist.pm?cm=doc