SD service TTL changed to "valid until"
SD default value moved out

The default port value is taken from our protocol component to be more
DRY.  The default TTL for service parameters has been move to
preferences.
SD logging improved

More logging and reviewed logging messages for the main SD object and
for DNS SD provider.
ChannelCallbacks from XML-RPC separated

They'll be used in well-known URI SD provider.
SD queue functions fixed

There were missing return statements which are necessary to keep the
flow as intended.  Provider iterator and try counter were not set
appropriately too.

Service constructor produces objects with toString method to make
things a bit simpler when used.  This was immediately applied in
result passing log message.
Implements well-known URI support

The implementation uses XHR and takes Cache-Control or Expires
response headers as source of TTL value.  Custom channel callback are
also used to support HTTPS properly in case redirects are in place.
Generally, mechanism is very similar to the on used in XML-RPC module.

Raw data to Service constructed object are not DRY at the moment.