teamd: fix port removal when using take_over

There is a bug which causes that when take_over is active, there is not
possible to remove ports via ctl. This patch fixes it.

Also during the traversing of the port list, we are removing the items.
That is clearly use after free situation. Fix this by using safe variant
of list_for_each_entry.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
teamd: split --take-over option into --no-quit-destroy

It is quite confusing that take_over mode also causes that during the
quit, the team dev stays on the system. So introduce no-quit-destroy to
take care of the quit part separately.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
teamd: respect currently set user linkup for created linkwatches

It fixes a problem during take_over then the link may be up initially
but linkwatch would incorrectly assume link down by default.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>