Client reports wrong circuit destroy reason to controller after truncated relay cell
When a client sends an extend cell, it gets converted to a create cell. If the relay refuses the create cell (e.g. its onion queue is full) it sends back a destroy. The relay that receives the destroy converts it into a truncated relay cell and sends it back, complete with the reason in the destroy cell.
The client then receives the truncated relay cell, and decides to tear down the circuit. But it discards the reason from the truncated relay cell, instead opting to declare that the circuit closed in all cases because of END_CIRC_REASON_OR_CONN_CLOSED.
We should use the reason from the truncated relay cell.