Multiple Solaris fixes

These fixes all are somewhat intertwined, so are bundled together:

Fix 12977 - lf64 definitions aren't correct on Solaris
Fix 12978 - struct sigaction is too small on 32-bit Solaris
Fix 13037 - SIGRTMIN and SIGRTMAX aren't correctly defined on Solaris

Since 13037 requires using sysconf(3c), I went ahead and added all the Solaris values for sysconf instead of just the ones needed for SIGRTMIN and SIGRTMAX.

For 12977, I tried to mirror the logic of the original .h files where in a 64-bit environment, the plain unsuffixed (e.g. 'open' instead of 'open64') are what are called and aliases created (if _FILE_OFFSET_BITS is set to 64) from the *64 name to the plain name, while in a 32-bit environment it aliases the plain name to the *64 suffixed version.  The current code was attempting to link against things such as 'open64' in a 64-bit environment which of course fails as no such function exists in the 64-bit libc.