When handshake fails, or DTLS session is closed, all transactions must
be removed from coap protocol retransmission queue. Otherwise coap
retransmission will start new handshake.
When receiving data, destination (own) address is stored and given to
socket when sending reply to make sure respone comes always from same
address where request was sent. This commit supports only real socket to
real socket messages, not virtual socket, or DTLS handshake messages.
* Delete transactions that are not supposed to get reply
When sending non-confirmable request that is not supposed to get reply,
it must be deleted after sending.
Also some general code-cleaning included.
* Remove outdated transactions from queue
If transaction does not get response, it will be deleted from queue.