mptcp: Select correct ack-sock when removing subflows.

We must make sure that the ack-sock we select is the one who is still
operational. We achieve this by checking the pf-flag of the subflow when
choosing the ack-sock. In order to make sure that the pf-flag is set, we
call mptcp_reinject_data before calling update_remove_addr so that the
correct ack-sock is chosen.

Reported-by: John Ronan <jpronans@gmail.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
mptcp: Don't reinject empty data-fins on the same subflow

An empty data-fin might get lost on a subflow. If it would have hold
data, then the subflow-level RTO would have reinjected that data-fin on
another subflow and set the tp->pf flag to 1. This would then have
prevented this same subflow to be selected twice for the data-fin.

However, currently mptcp_dont_reinject will always select the same
subflow for empty data-fins even if it has been lost.

We must make sure that the empty data-fin is sent in a round-robin
fashion in case of RTOs as it is done for regular data.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
New stable release v0.88.8

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>