Currently, we assume that the addresses in tracking log are always IPv4 or IPv6 in pipeline. However, in a dual-stack configuration, both IPv4 and IPv6 addresses may occur in the tracking log.
This PR adds support for both IPv4 and IPv6 address by using the "IPv4-Mapped IPv6 Address" feature. An IPv4 address is always converted into its equivalent IPv6 version, so that we can just use the single IPv6 database for processing.
This PR also adds support for specifying country code & name for private addresses (such as "192.168.0.0/16", "172.16.0.0/12" and "10.0.0.0/8").
Review and provide feedback
If needed, create story to validate results