Use toString() when generating echo() messages (fixes #838).

When using the Value << operator, strings are encoded (e.g. a newline
character is encoded as \n), but echo() should output the text as given.
Add encoding of \r.
Add support for \x \u and \U escape sequences.

For all escape sequences the 0 byte is illegal and converted to a space.

\x supports only the range from 0x01 to 0x7F as the values greater or
equal to 0x80 could produce illegal UTF-8 sequences.

\u allows to specify unicode codepoints with exactly 4 hex digits.

\U allows to specify unicode codepoints with exactly 6 hex digits.
Handle UTF-8 multi-byte characters in the lexer.
Make concat() a primary feature (not experimental)
Fix no-break space handling.
Add test cases for the escape sequences.
Merge branch 'master' into text-escape-sequences

Conflicts:
	tests/CMakeLists.txt
Output debug info only in debug mode
Added testcase for #837
Popped path_stack once too many. Should fix #837
Merged upstream modifications