move cmsg stuff to shared file, refactor a bit
revert move of cmsghdr to shared; it depends on constants so this is a problem; rump broken until work out best fix