DNS monero address aliasing and seed node lookup

Note: these changes were originally made based on the upstream development branch.  As such, they *do* incorporate some unmerged changes from development.  This was kept to a bare minimum, but will need to be reconciled when development is to be merged into master.

Note 2: DNSSEC validation is not added yet, but the code that will care about a DNSSEC validity is in place for when it is implemented.