C API - make spd_open threadsafe
C API - make spd_open threadsafe

In kttsd I was encountering a crash when I called spd_open from one class to
check to see if speech-dispatcher is running, then call spd_open from a dialog
invoked by the previous class to get some data from speech-dispatcher
(available languages, and voices, etc.)

Because g_get_user_name() returns a static char * which is then free'd at the
end of the method, the second call to spd_open crashes.  I've included a patch
for the crash that fixes it in my case.

Thanks to Jeremy Whiting <jeremy@scitools.com> for the patch.

razr/speechd,razr/speechd,razr/speechd,razr/speechd