When we load the legacy.so module we bound the symbols locally, so they
were not accessible to other libraries. This broke expectations for
things like py-cryptography, which expected to be able to use legacy
algorithms.
Other operating systems (e.g. Debian 12) link legacy.so into
libcrypto.so, but OpenSSL 3 supports this separate configuration, and
that's also what the OpenSSL 3 port does.
It was also easier to build legacy.so for FreeBSD this way, when
dealing with the build order: libcrypto.so would need to be built before
legacy.so.
MFC after: 3 days