[NET]: Fix sysctl breakage during network device renaming.
Sysctl assumes its ctl_table.procname field is const, but the
networking points ctl_table.procname to dev->name. When renaming
a network device using SIOCSIFNAME, dev->name is modified and
sysctl's assumption breaks, causing this behaviour, at least:
1. sysctl wouldn't be able to remove the proc entry when the
device requests to be unregistered, because it would be
using the new name instead of the old one.
2. proc entries for devices remain with the old name after
rename.
This change includes allocating the current device name to a
new copy upon registering with sysctl, plus re-registering with
sysctl when the device is renamed.
This only fixes IPv4, IPv6, and net/core/neightbour.c.
Fixes for ax25 and decnet are also planned.