Improvements for the carbon returner

This makes the carbon returner work nicely both for the specific case of
returning carbon data from the virt module and also work nicely for more
generic cases.