Changing extractTld method to use a trie structure

I ran into a performance problem for domains with a lot of subdomain labels (e.g. a.b.c.d.e.f.g.h.i.j.k.github.com).  I restructured the extractTld method to avoid this issue.