Sync lib/libc/string with FreeBSD:
-Move legacy functions to strings.h.
-A few WARNS and style cleanup.
-Add ffsl(), fls(), flsl(), ffsll(), flsll().
-Merge index.3 and rindex.3 since they are so similar. Do the same for
strrchr().
-Add memrchr().
-Remove advertising clause from copyrights.
-Add memmem() which is basically the same as strstr().
-Add stpcpy().
-Add a SECURITY CONSIDERATIONS section to remind people about buffer
overflows, etc.
-Add restrict keyword where required.
-Add strndup().
-Correctly document the return value of strerror() and strerror_r() and
the contents of the returned buffer for unknown error codes.
-Add NLS catalogs support to strerror(), strerror_r() and strsignal().
Controlled by NLS define.
-For strl* files, use a less restrictive copyright (original author
changed it).
-strmode.3: strmode does not return 0.
-Move swab()'s prototype to unistd.h IAW SUS.
-Simplify by removing unneeded local variables and explicit
null termination is wcs* functions.
-Move wcscoll() and wcsxfrm() to string/ and do locale-sensitive
collation for single-byte locales.
-Add wcsdup().
-Remove unneeded includes.
-Reimplement wcsrchr(3) more efficiently, using a single forward scan
(like strrchr(3)) instead of scanning forwards to find the end of the
string then scanning backwards to find the character.
-Slightly optimize wcswidth().
-Tell contrib srcs that we have strndup now since some of them provide
their own static definition which will blow up a buildworld.
- [DB] lib/libbind/port_after.h