Handle Reform Pt. 2

This is a continuation of #331 and begins the removal of handles from the internals of the kernel. I will continue this work on all other parts of the kernel, and after we're done with this hopefully handle closing can finally be implemented.
Why not unique_ptr? I want to make sure that we're only using Boost if there is a good reason.