Emit EV_TXCOMPLETE earlier
Emit EV_TXCOMPLETE earlier

Before, when no packet was received in RX2, there would be a 3-5 second
delay (for EU868) before calling `processDnData()` and emitting
EV_TXCOMPLETE. This was the `DNW2_SAFETY_ZONE` to prevent a subsequent
TX to collide with a downlink packet that was ongoing but not locked on
to.

With this change, `txDelay()` is used to still delay the subsequent TX,
without delaying the `EV_TXCOMPLETE` event, which allows battery-powered
devices that wait for this event before sleeping to get an extra 3-5
seconds of sleep for each transmitted packet, improving battery life.

Closes: upstream issue 16

mcci-catena/arduino-lmic,mcci-catena/arduino-lmic,mcci-catena/arduino-lmic