I've created a pull request that adds support for DNS lookups in -addnode and -connect, as I think it's a very useful feature.

Apparently it is considered a security issue by some (including satoshi, I've been told), so by default it is disabled, and the command line option -dns needs to be passed to enable it (as suggested by jgarzic)

User interface is OK (-dns, changing -addnode and -connect behavior, etc.), but the code needs to be turned "inside out." DNS produces multiple addresses, and thus has a one-to-many relationship between DNS name and CAddress... but the DNS lookup is stuffed inside a CAddress object.

The code should instead have a helper that produces a vector of CAddress, from a DNS lookup, or a helper that creates and pushes multiple CAddress objects into AddAddress()