Urlretrieve now bypasses urlopen 

When retrieving large files that should be streamed directly to a file object (via urlretrieve) the response was being routed through the ResultStr class, which called the text() function on the response object. This forces a readthrough of the entire file to try and guess the encoding (via the chardet library) that is not performant on files larger than even a few MB, such as PDFs. Updated urlretrieve to bypass urlopen and use the request function instead.