Fix #25: Handle unicode strings more consistently.
When writing a string to the program too few octets were written because strings are now 16-bits wide. To fix this, only write the low 8-bits of each character. This matches what reading does.
This pretty much implies that the caller should use STREAM:STRING-ENCODE and STREAM::STRING-DECODE on the strings.
Add several tests to verify the expected results.