SERVICES: Convert old spawner to new services API

This branch is **NOT** ready for merging yet.  But I wanted to put the pull request up so we can discuss the way things are going.

Right now, this is my *first cut* of getting the spawner code rejigged to use a socketpair() instead of a SHM segment.  Not least it's all in one commit and I clearly should split out things like the utils.[ch] change.

I just want a view on whether I'm doing something hideously wrong.  I know the code isn't clean enough yet.