fix typo
new Integer option: Response_Timeout

Timeout(in microseconds) to receive response from the upstream server
  when Mighttpd2 act as a reverse proxy.

* unspecified in config_file: use the default value in Network.HTTP.Conduit.Manager
* positive value: override the default value (5 seconds in http-conduit-1.9.4.1)
* otherwise: wait for the upstream server infinitely
Follow the default value in Network.HTTP.Conduit.Manager regardless of its meaning.

The obvious and expected timeout behaviour is:

timeout def Nothing = def
timeout _   x       = mfilter (> 0) x

especially:
timeout {- default value -}(Just 0) {- do not override in config_file -}Nothing
shall evaluate to (Just 0), even if it do not make sense.

The same behaviour could be achieved by:
maybe def (find (> 0) . replicate 1) opt
or:
maybe def (listToMaybe . filter (> 0) . replicate 1) opt
, but require Data.List or Data.Maybe to be imported respectively.
Network.HTTP.Conduit.managerResponseTimeout require http-conduit >= 1.9.3

see:
http://hackage.haskell.org/packages/archive/http-conduit/1.9.2.2/doc/html/src/Network-HTTP-Conduit-Manager.html#ManagerSettings
http://hackage.haskell.org/packages/archive/http-conduit/1.9.3/doc/html/src/Network-HTTP-Conduit-Manager.html#ManagerSettings