Rename of DNS module to SD

Obviously, our service discovery is more than just DNS queries.  This
is preparation for well-known implementation.
SD module break down

This should provide SD providers for DNS and well-known URI.  This is
only structural break down.  DNS should still work (not tested) and
well-known is not used at all.
SD tries and defaults implemented

This is basically a callback onion (yes, nobody likes them) where
original callback is wrapped in by additional callbacks.  It should be
refactor to some queue because this abusing functional aspects of
JavaScript and it is ugly.  The basic principle should stay, create
something which checks condition and passed the result to next similar
something and so on until the next something is the original callback.

This way multiple execution can be implemented, default result
intercaption, cache setting etc.
SD tries and default in queue

Service discovery module tries and defaults callbacks were rewritten
to use synchornization's module Queue constructor.  This way callback
madness is starting to disappear.  The next step on this field will be
future support.
SD default reworked

This resulted in changes in DNS parsing which are not relying on
RegExp anymore but properly follows updated EEE specification.

There's a new constructor which holds data about discovered service
like host, port and TTL.  It handles defaults itself so there's no
need for extra on this front.  This enabled simpler and more
straightforward DNS parsing and removal of extra queue in the main
service discovery object.
SD service TTL changed

Definition of Service's TTL have changed to be closer to JavaScript
and SD caching.  TTL from DNS is multiplied by 1000 to get
milliseconds.
SD caching added and default changed

In the main SD object, defaults are still needed in case no provider
returns resolved service parameters.

After this ensurance, service parameters are cached.  Cache is read
before SD queue is executed.

New queue function was also added just to pass service back to given
callback.  So, three new SD queue functions were added in total.
SD clients changed to accommodate to API

Service paramaters are returned in object created by Service
constructor from SD module.  It uses getters to access host and port
values.
SD module fixes

After the first test some problems were identified with parsing of
server field in SD record and retrieving TTL value.