Big Networking Cleanup

There is still a bit more work to do in a followup CL to remove the EndpointInfo interface - there's bugs there. Also on RtcToNet to properly encapsulate each session. 

Big changes: 
* TCP connection isn't just for connections we receive: it can be used to create new connections too
* Removed NetClient, this is now just a tcp connection
* New simplified build directory layout has a typescript subdirectory for all typescript code to have a common path structure to find dependent files. 
* Uses new build-tools structure. 
* freedom files now called freedom.json
* Cleaned up/standardized use of Net.Endpoint (represents both an IP address and a port)
So, I re-opened the thread on this namign convention:
https://groups.google.com/forum/#!topic/uproxy-eng/x9bjdpMG4eQ

Short version: the manifest's filename is incorporated into the webworker name, and using a common manifest filename currently makes the webworkers impossible to identify by name alone.