make Do() return a goreq Error object

Do() was coercing Goreq's Error object to 'error', leaving users unable to access Timeout information from Goreq's Error object.