C++99 (pre C++11) compatible Tuple class