set a stack trace and service name on fhttp timeout exceptions (#1506)
set a stack trace and service name on fhttp timeout exceptions (#1506)

The way FHttpRequest (and finagle) implements timeouts has the side effect
of destroying all useful stack information. As mentioned in the included
comment, this creates a proxy exception and overrides the timeout exception
used to include stack information at the time .timeout() is called, as well
as ensure we set the service name on the thrown exception.
(sapling split of 0d004704d868d491d03902092938ae23c65b53b1)
foursquare/fsqio,foursquare/fsqio,foursquare/fsqio,foursquare/fsqio,foursquare/fsqio