Allocate each tree node together with its label and subnode pointers.

This cuts memory usage in half (!) -- with the current
effective_tld_names.dat, on a 64-bit system, the tree drops from
244,531 to 118,707 bytes allocated, at the cost of only a minor bit
of pointer trickiness. Per-node overhead drops to 4 bytes, and the
number of allocations from ~13,000 to ~6000.

(That's still more RAM than the Mac I had in 1984 could've allocated to
application data, just for a bit of perspective.)
Make the lookup tree read-only in getRegisteredDomain* and printTldTree.