Add ResponseWithReauth to do WithReauth that returns a perigee.Response
diff --git a/reauth.go b/reauth.go
index eb9ac1e..342aca4 100644
--- a/reauth.go
+++ b/reauth.go
@@ -21,3 +21,16 @@
 	}
 	return err
 }
+
+// This is like WithReauth above but returns a perigee Response object
+func (c *Context) ResponseWithReauth(ap AccessProvider, f func() (*perigee.Response, error)) (*perigee.Response, error) {
+	response, err := f()
+	cause, ok := err.(*perigee.UnexpectedResponseCodeError)
+	if ok && cause.Actual == 401 {
+		err = c.reauthHandler(ap)
+		if err == nil {
+			response, err = f()
+		}
+	}
+	return response, err
+}