reorganize applet table. Eliminates pointers to names.
Should be a big win for libbusybox. busybox wins too:

   text    data     bss     dec     hex filename
 776524     929    9100  786553   c0079 busybox_old
 775903     929    9100  785932   bfe0c busybox_unstripped

diff --git a/applets/Kbuild b/applets/Kbuild
index 289c5de..b9dba03 100644
--- a/applets/Kbuild
+++ b/applets/Kbuild
@@ -8,7 +8,7 @@
 obj-y += applets.o
 
 hostprogs-y:=
-hostprogs-y += usage
+hostprogs-y += usage applet_tables
 
 always:= $(hostprogs-y)
 
@@ -19,7 +19,15 @@
 
 HOSTCFLAGS_usage.o = -I$(srctree)/include
 
-applets/applets.o:          include/usage_compressed.h
+applets/applets.o:          include/usage_compressed.h include/applet_tables.h
+
 applets/usage:              .config $(srctree)/applets/usage_compressed
+
 include/usage_compressed.h: applets/usage $(srctree)/applets/usage_compressed
 	$(call cmd,gen_usage_compressed)
+
+# Two-stage file creation, to avoid having target file still created
+# in case applet_tables fails
+include/applet_tables.h: applets/applet_tables
+	applets/applet_tables >include/applet_tables.h.tmp
+	mv include/applet_tables.h.tmp include/applet_tables.h