Cleanup

Replaced own smart pointer class with new std pointer classes. Merged
both variable classes into one and renamed it to "Memoize". Totally
rewrote iterator class to work with a vector of bytes rather than a
pointer.