runtime/text: Fix edge case for simple QL formatting.

If a pattern or value in a simple QL format is almost at the end of the string
with exactly one remaining character to its right, then the parser has a
fencepost error and fails to copy that character to its internal list of
string segments.

The test would pass if other Substituter issues were fixed.
runtime/bindings: Fix use-before-assign bugs.