Extracted tuple construction logic into modifier templates
* TupleMapper's construct template method is now a meta method that can construct both relative and value tuples
** relative tuple construction logic is implemented in modifier/relative_tuple.h
** value tuple construction logic is implemented in modifier/value_tupl.h
* TupleDereferencer template is deprecated as it is implemented in form of a modifier
* This makes it easier to maintain the tuple construction functionality as one doesn't have to change two very simmilar construction templates anymore
* BasePtr's get() member method now returns a pointer to the contained base ptr
** This removes the last bit of union tag specific logic from the Tuple template