Implement if_nameindex(3)/if_freenameindex(3).

This is just a subset of the recently-implemented getifaddrs(3), though if
we want to handle interfaces (such as "rmnet_*") that don't have an address,
we need to either expose ifaddrs_storage and keep track of which interfaces
we've already seen (which is pretty messy), or refactor the netlink code so
we can reuse it and just extract the information we need for if_nameindex(3).
This patch goes the latter route.

Also clean up if_nametoindex(3) and if_indextoname(3).

Change-Id: I5ffc5df0bab62286cdda2e7af06f032c767119a8
diff --git a/libc/libc.mips.brillo.map b/libc/libc.mips.brillo.map
index 67e1c05..965927a 100644
--- a/libc/libc.mips.brillo.map
+++ b/libc/libc.mips.brillo.map
@@ -1221,6 +1221,8 @@
     getgrgid_r;
     getgrnam_r;
     getifaddrs;
+    if_freenameindex;
+    if_nameindex;
     preadv;
     preadv64;
     prlimit; # arm mips x86