Packages should inherit their repository's connection options

This is a fix for #1800 

Currently packages do not use the custom **stream_context_options** provided by their repository. This aims to fix that by copying over the repository's custom connection options to the package's `extra` field. Then, when a downloader is used to grab the package, the extra connection options are injected into the downloader's remote file system.

This fix will take over the `extra.context-options` parameter, but still allow users to override any of those fields by use of `array_merge()`.

Accidentally closed the previous pull request #1977 and doing it again.