When choosing source port and address for NAT operations the proper order of
operations is:
- Try to get them from udp_mapping if rule has PF_POOL_ENDPI. This might be enough to return.
- Get IP address from pf_map_addr_sn()
- Look for free ports for the IP address
- Get another IP address from pf_map_addr() if no ports are free
Calling pf_map_addr_sn() before checking udp_mappings is not necessary,
remove the first call. Since now a rule can have multiple pools, don't
hardcode pools anymore, always use the pool given in pf_get_sport() call.