Optional modify() method for services

This new optional method will allow services to define extra
normalization specific to an individual service for the purposes of
caching a text input.
util_approx() method for services

This new method will allow a service to convert a unicode string into
something that only has ASCII characters, attempting to strip diacritics
off.
Allow net_download to accept bare string

Makes passing a tuple optional, allowing a service to use a bare string
if it does not need any query string arguments.
Service implementation for Howjsay

Adds basic network downloading, normalization, and error handling.
Documentation update for Howjsay

Adds new page to website, drops screenshots from the TTS-API.com (since
it does not have options to configure, like Howjsay), and updates README
for the add-on.
Check for text after service-specific modify()

During processing by the router, if the service instance runs modify()
on the text and yields an empty string, processing should stop at that
point rather than be passed back through to the service.
Quote mapping for util_approx()

Adds fancy quotes to the list of mappings performed by util_approx().
Word improvements for Howjsay

Also allow digits, apostrophes, periods, and at-signs to appear in words
sent to the server, also adding encoding.
Merge branch 'add/howjsay' into develop

Adds the Howjsay Internet service.