track shadow process resource usage

we need to make sure that new topologies we generate stay under
our desired memory limits.

refs #194