A simple smart handle class. The class takes an object and stores it, and calls it in any way the developer needs to destroy it on object's destruction. It was primarily designed to handle HDF5 handles. It can, though, be used for anything else.