Add socket activation support through ListenFds

split function from gocat