Allow the IO type to be compile type defined for now.

Only allocate posix shm segments if we're using it. That stops things
from bitching when running it as non-root.