First pass at CLI-parsed voices

Instead of hard-coding a static list of available eSpeak voices, this
adds support for reading and parsing the output of the `espeak --voices`
command, similar to how the Mac OS X Say service works.
Skip headers when parsing `espeak --voices`

This is pretty straight-forward to identify: adds a condition to drop a
captured whose language purports to be 'Pty'.
eSpeak binary discovery on Windows

Adds a check on Windows to /attempt/ to locate the eSpeak binary using
the Windows registry. If found, the voices list is loaded and the
service is enabled.
Support for transcoding eSpeak files on Windows

This uses a named file for the intermediate output file, similar to how
the SAPI5 implementation already works, rather than a pipe.
Simplify eSpeak default voice iterator

This can work with a regular generator rather than producing a list and
then casting to an iterator.
Merge branch 'add/espeak-enhancements'

Brings in support for eSpeak on Windows and also brings in support for
building up the voices/languages list at runtime based on what is
installed and available on the user's system rather than hard-coding it
ahead of time.
Use os.unlink() for removal of temporary files

This will be safer than using a shell command to `rm` (affects the OS X
Say implementation).