os_io: remove ___fdset_state* macros, better memory allocation/error handling
os_io: remove ___fdset_state* macros, better memory allocation/error handling

- removes the ___fdset_state* macros, which are historical artefacts of implementation
- use ___FREE_MEM to deallocate memory, check for NULLs in error paths
- compute oldsize and newsize in bytes once in ___fdset_realloc

thewhimer/gambit,thewhimer/gambit,thewhimer/gambit,thewhimer/gambit,thewhimer/gambit,thewhimer/gambit