Add partial download support

Partial downloads are support by passing parameters in the option list
of `get_object`. Partial upload and partial download are tested via CT
against FakeS3. The typespecs have been enhanced to provide better
documentation to developers using the API.