Forward-port of recent spray patches

This PR aggregates a number of patches that we have applied to spray this week.
Why the whitespace difference between no-cache and e.g. private?