Both the Autoconf and CMake build systems are updated to detect linker support for symbol versioning.
Currently, Linux, Solaris, and FreeBSD are tested and working. Windows (COFF) and macOS (Mach-O) have no symbol versioning.
There is an Autoconf/CMake flag to opt out of the versioning behaviour.
We want to ensure that the symbols included in shared object files (.so, .dylib, .dll) are as expected.
This verifies that our Autoconf and CMake builds are using the `-fvisibility` flags and attributes correctly.
As it turns out, the CMake build on Solaris is not working, and was exposing internal symbols due to a CMake issue.