Completes the task #33533

  • changes build.gradle file to use HttpClient5
  • Changes imports to use HttpClient5 imports
  • Migrates the changed Classes to use HttpClient5
  • Some APIs have changed, so migrate those to add/remove functionality as needed
    • HttpHost.create() changed API to throw exceptions URISyntaxException
    • HttpUriRequest.getUri() changed API to throw exceptions URISyntaxException
      • For URISyntaxException I have just rethrown them as RuntimeException
    • SchemePortResolver changed API to remove UnsupportedOperationException
    • AbstractHttpEntity changed API to require a encoding in the constructor
    • ClosableHttpReponse changed to a final class
      • This Required enabling Mockito Feature mock-maker-inline to mock final classes

Some Questions: - Should we create a new WrapperException for cases where URISyntaxException to re-throw them ?