Pass timeout for pub() down to channel

Previously regardless of timeout a pub job would take 60s (default for channel) to timeout.

I noticed this because after an Mworker dying its possible to stall the reactor for 60s (if the job went to that MWorker)
Decrease timeout to fit into "long", before this timeout wasn't passed anywhere, but now that it is it has to fit into a C long otherwise you get errors like:

"OverflowError: Python int too large to convert to C long"
Merge pull request #18301 from jacksontj/2014.7-config

Pass timeout for pub() down to channel