Fixes interpolation on SafeBuffer

Interpolation was untested and did not work with hash arguments.

Adds
- support for interpolation with hash argument
- tests for the above
- tests for safe/unsafe interpolation

Original discussion in #13310 which was PRd to `4-0-stable`.