Prevent domain names with excessive subdomains from causing stack overflows

VALID_URL_NAME adds a greedy quantifier (+) URL_VALID_SUBDOMAIN which
contains a greedy quantifier of its own (*). Keeping the resulting
backtrace info can cause a stack overflow. This change converts
the noncapturing group at the top level of URL_VALID_SUBDOMAIN to an
independant/atomic, non-capturing group, which allows the backtrace
data to be discarded.

Added a unittest that tickles this particular bug.