util: misc improvements from IBC branch
Here's a couple of list iterators, VMA heap improvements, and register allocator set [de]serialization support, which we're using in our IBC branch that hasn't landed yet. I figured we may as well land these bits ahead of time.