[#39] Use our own is_fp_closed method to check whether a response has been read before caching.

I copied over the is_fp_closed from urllib3 and reversed the ordering of
the try / except in order to give preference to HTTPResponses before
real file pointers.