decode.py: split decode_tr_command() out of decode_cat(); TR (0x14) now stores the echoed proactive command type in 'response_to' instead of 'cat_command', so it no longer overrides the INS name. FETCH/ENVELOPE still use cat_command as the primary label. tests: TR now asserts response_to + no cat_command