Add Session method to merge environment settings with per-request settings

See also #2129 
I agree. I never liked the duplicated check, but didn't want to add noise to the PR =P