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.