Add support for variable-length onion payload reads using TLV