def initialize(options)
        @inmate       = options.fetch(:inmate) { Hoosegow.new(:no_proxy => true) }
        @stdin        = options.fetch(:stdin, $stdin)
        @stdout       = options.fetch(:stdout)
        @intercepted  = options.fetch(:intercepted)
        @stdout_mutex = Mutex.new
      end
Options:
* :stdout - real stdout, where we can write things that our parent process will see
* :intercepted - where this process or child processes write STDOUT to
* (optional) :inmate - the hoosegow instance to use as the inmate.
* (optional) :stdin - where to read the encoded method call data.