This patch supercedes previous patch and should be ready for review/commit. The first iteration of this patch contained a few unnecessary vg_release() calls - tools that use iterators do not need to release since the iterators do the release.