Refactors getDocument and adds PDFDataRangeTransport.

Nit: `@returns {Promise}`.