Faster public suffix domain parsing.

The scope of this library is limited to finding the tld+1 of a given domain from the public suffix list.

Approach:

Goals:

Caveats:

Environment Variables

PUBLIC_SUFFIX_LIST_FILE=somefile - override which file will be loaded in place of public_suffix_list.dat

Example:

``` lazystatic! { static ref LIST: List = { let list = List::parsesourcefile("publicsuffix_list.dat"); list.expect("unable to parse PSL file") }; }

...

fn foo() { let domain = "abc.one.two.example.co.uk"; let tldp1 = LIST.parse_domain(domain);

assert_eq!(tldp1, Some("example.co.uk"));

} ```

TODO: