Changed HeapThingWrapper to use the type defined within payload class instead of taking it as an explicit argument.
Jigged naming of HeapThing vs. HeapThingPayload.
Added UntypedHeapThing base class for template-specialisd HeapThing generic.
Reorganized code to avoid header loops.
Added tuple object.