This is necessary to keep alignment between the client view of rig->state and the shared libarary view
Including PTHREAD functions in rig->state necessitated this as HAVE_PTHREAD only defined during hamlib compilation.
Clients including hamlib/rig.h did not pick up all the HAVE* config variable that control what gets included
https://github.com/Hamlib/Hamlib/issues/947
Change hamlib_port_t to a pointer in rig.state
Deprecate static hamlib_port_t structure
New hamlib_port_t structure at end of rig.state
Clients built with older hamlib will use old structure in DLL
Clients built with newer hamlib will use new structure in DLL
So we maintain backwards compatibility until Hamlib 5.0
https://github.com/Hamlib/Hamlib/issues/894