Let the response include timeout errors

As GH #3 described, when read timeout and connect timeout happens,
instead of throwing a dying message, the Hijk::request still returns a
HashRef, but it should contain an "error" value in it. The meaning of
that value should be checked against Hijk::Error::* constants.