bnx: Merge several recent bge changes

57b622244562b2b67b60bc5eeecd498f5946d359
f2ccc3cdd409facd7b596fcc3f6157e3a7029df2
e6fdacca28b0af2f878e74dd2acc6f40288a4cb3
b87c703422a52f1b874b6f00516b7a096f826b6a
9062031ed71445ef2de9bf9b4e0d96fd6cdf9c34
cc224beafa386c6a9777d1a3296217d768ea7405
0bf9631eae999627c5ae189775a5fe4b1ee75280
d05296cfacc7c2847af2f475bfb374ddf5f985ac
makewhatis(8): change index build logic

This commit reflects on issues brought up by swildner.  The idea
behind this change is simple:  track each manual page via
its inode and append all alternative names to the same struct.
The former logic missed references across sections, so the
manual page indexing now covers all sections before creating
the whatis database.

The index now only reflects the layout of /usr/share/man (or
the specified path), and *not* the contents of a manual page,
except for its description.

As a consequence, all MLINKS are now properly referenced in
the apropos(1) output.

I wanted to have the `real' file as the first name, but it's
better to keep the style consistent with `SEE ALSO' sections
by sorting per section, then per name.  Output as follows:

    # apropos vcd
    vcd(4), vkd(4), vke(4), vkernel(7) - virtual kernel architecture
Add static where useful.