Fix for crash on Mac OS X and multilingual say

When parsing output from the CLI `say` program, if the user had both
logging enabled and multilingual voices installed, the CLI output would
likely contain accents. However, check_output() in Python returns a byte
stream rather than a unicode string, so the logging attempt would raise
an error.

This change attempts to decode the byte stream into a unicode string
before processing or logging.
Fix for dialog crash on Mac OS X

The mass generator's confirmation dialog at the end of the generation
process occasionally hard crashes the PyQt process on Mac OS X, but
seems to be avoidable by wrapping the display of the dialog in a
single-shot callback.