This adds extra headers and query parameters to identify MAR GET
requests as originating from browsing profiles or background task
profiles.
This extracts a simple existing function for setting headers and then
makes it available to `nsIIncrementalDownload`. The existing function
is not the most pleasant API, but it exists and is much easier than
working through the details of storing header name-value pairs until
they are ready to be used. It's also the same API exposed by Windows
BITS, so there's no additional manipulation required to support BITS.
Differential Revision: https://phabricator.services.mozilla.com/D221860