usbd: hold OUT endpoints with RX_PENDING until the buffer is consumed (#3937)

XFER_COMPLETE cleared BUSY|CLAIMED before the class copied ep_buf, so another
task could claim and re-arm the endpoint into an unconsumed buffer (#1292).
Completion now sets RX_PENDING in the same store; claim() refuses it until the
class calls usbd_edpt_rx_consume() or re-arms with usbd_edpt_xfer(). Applies to
every build, not only OSAL_MUTEX_REQUIRED.

Also: mtp example supports FreeRTOS on ESP-IDF; test_ci_select reads sources as UTF-8.