device: rework mtu priority handling
If commit_mtu() is called multiple times and dev->get_configured_mtu() returns @is_user_config=FALSE, only the first call changes the MTU. So, for example, when the parent MTU of a VLAN changes, we apply the new MTU only the first time. Rework the handling of MTU in NMDevice, and store the source of the configured MTU. When commit_mtu() is called again, we ask the subclass a MTU to configure and apply it only if the source has higher priority, or when the parent MTU changed.
Showing with 48 additions and 25 deletions