Lock S3ClientMockTest using OkHttp

Alternate approach to #502. At the level of S3, we are testing that the headers are actually applied, not trying to test the behavior of a specific JRE's HttpUrlConnection. Using OkHttp, we can decouple this test from flaking out in various environments.
yep. because okhttp is not dependent on HttpUrlConnectionImpl, which is the class that changes with each jre!