This commit makes sure there is no custom Content-Disposition header before setting one automatically. This commit also adds a headers(Consumer<HttpHeaders>) method, so that one can user the nicer methods of HttpHeaders, as opposed to basic strings. Issue: SPR-16376