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.
Add a comment here to explain why we're using OkHttp?