dictionary: support say-as entries with stress

This allows you to provide say-as dictionary entries with multiple
words indicating where the stress occurs on each word. For example:

	w	'double,u

The allowed characters before a word are:

	-	keep stress as transcribed (hyphenated words)
	'	the first syllable has primary stress
	,	the first syllable has secondary stress
	.	the first syllable is unstressed

This is supported at the parsing level by extending the
tts::multiword_entry class to track the initial stress type. The
phoneme transformation is handled by a tts::make_stressed function.

While both of these have test coverage, the make_stressed logic has
minimal coverage as it is not currently clear how to handle
multi-syllable words. This coverage will be extended as needed.