Fix handling of IfInfomsg Flags, Change and Type

IfInfomsg.Change should always be 0xFFFFFFFFFF, so it is set in
newIfInfomsg.

When updating an interface IfInfomsg.Flags is set with the current value
of the interface flags.

IfInfomsg.Type is the address family.

Not that this is still not completely correct, as net.Interface.Flags
doesn't track all device flags.