better pass response headers to user

this patch will pass as many headers as possible from the output of user script/application to the appropriate channels
it is mainly useful for channels of `message/cgi` or `message/http` type
for these channels all their output headers and their status will be passed on to the final reponse the user gets
of course it means that `message/cgi` or `message/http` channel should have no `path` defined
caveats:
- if you define clustered job and have multiple output channels without `path` their bodies will be concatenated as usual, but their headers will overwrite one another in an undefined way, beware!
- if you defined multiple `message/cgi` or `message/http` channels without path the results will be even stranger than that, beware!