Fix non-ascii string handling for guile-2

Guile 2 has a completely rewritten string implementation. Swig made some assumptions that are no longer valid as to the internals of guile's string representation.
The patches in this branch fix this. The changes are tested and working with both guile 1.8 and guile 2.0.