networkd: Fix issues with bonding and VLANs

These changes are needed to allow bonding and VLANs to work properly with networkd. Most of this will be removed as networkd fixes issues.
Actually, you probably want to return here, right? If the first restart fails, is there any point in dropping the error and doing the second one?