[BUGFIX beta] Ensure aliased {{with}} is not shared.

Copying the available keywords into a separate object that is only available
to the contents of the `{{with}}` block prevents the aliased keyword (made via
`{{#with foo as bar}}`) from being available outside the context of the block.

Closes #3086. Closes #3100. Closes #3753.