Add Rubinius specific spec for string building

This ensures that we cover the behavior of string interpolation where
the string doesn't have an encoding yet. This is possible on Rubinius,
we only setup the encoding then in the method retrieving the encoding
from the string.

This is an extraction from issue #2222 and is added to prevent
regressions in this behavior.
Don't ignore encodings from strings without it set

Those strings should be treated as strings with ASCII-8BIT encoding.
This change doesn't break any existing specs and also a regression spec
was added to make sure this behavior keeps working properly.

Fixes #2222