Pull the Public Suffix list into the code.

    Mozilla provides a public suffix list.
    We parse this human readable text into a machine readable source
    file which is will be directly included into the code.
Added the code to use the Mozilla public suffix list

    The class HostName
        * holds a private interpretation of the public suffix list
        * It provides a static access method to divide up a domain
          name into its sections using this information.

        Note HostNamePublicSuffixData.cpp has been split out
        as it takes several long minutes to compile but is
        not going to change unless you run regeneratePublicSuffix.sh
First pass in getting URI to do useful stuff
Fix up small stuff.