Move dns into a submodule
Add Network Interface Card related module
Use tuple instead of list.
Continue work on http request template.

* Implement unit test for client by creating a local HTTP server.
Implement unittest for http client by mocking the transport.
Futher improvements to network.http

* Better exception handling for DNS resolution
* Also record the proxy inside of Request object
* Fix bug inside of TrueOrderedHeaders
* Refactoring
Outline how the new http test template should like.