Allow clients to set retry_func for MakeRequest

This change:
- Adds an item to ExceptionRetryArgs containing the total number of
  seconds the user has waited since the first request attempt.
- Allows clients to specify a custom retry function for retry logic.

My use case for these changes involves using a wrapper function which performs
some additional logging if total_wait_sec is high enough, then calls the
default retry function.
diff --git a/default.pylintrc b/default.pylintrc
index b4c4577..142fee0 100644
--- a/default.pylintrc
+++ b/default.pylintrc
@@ -55,6 +55,7 @@
     no-name-in-module,
     no-self-use,
     super-on-old-class,
+    too-many-arguments,
     too-many-function-args,