Refactor network.newClient to use Go functional option pattern
What does this MR do?
Previously we had to add a new constructor every time we wanted to add a new parameter. This commit refactors the max age implementation using the Go functional options pattern in preparation for adding another option for the response header timeout.
Edited by Stan Hu