adding code to do NAT type detection, plus other changes, see comment below. 

1. updated package dependency to use newer freedom and uproxy-lib
2. Adding server code for NAT detection, and server testing client, both in python. 
3. Update javascript (typescript) code to do NAT type detection. 
4. remove end-2-end testing code. Revised version is now available in uproxy-end-to-end as freedom module. 
The is the residue of its previous generation. local_port is not used and has been removed. 

Except "--config" option is necessary (for choosing the right config file). All other options are really optional. I often add them when I really need it, never try to be complete as config itself.