Task #791 Refactored NAT implementation

TODO: implement ICMP support