Merge pull request #83 from rouli/master

Adding some basic proxy authentication code
Start solidifying proxy authentication

- Add a unit test file
- Remove some extraneous methods
- Change the auth API to make the authenticate method take a header object.
Test and robustify BasicProxyAuth.parse_auth_value

- This is partly in preparation for moving the implementation to netlib
- Also add an unparse_auth_value for testing (and use in pathod once the move is done)
More work on proxy auth

- Strip auth header if auth succeeds, so it's not passed upstream
- Actually use realm specification to BasicProxyAuth, and make it mandatory
- Cleanups and unit tests
First draft of OSX transparent proxy mode.
Better error handling for transparent mode remote address resolution.
Much-needed facelift for the docs.
Docs: make nav sidebar work
Preliminary changelog.
Docs and Readme

- Don't keep a full duplicate readme just for pypi. Pypi really needs to
learn to read markdown.
- Style and content adjustments
Documentation, setup.py updates, styling.
Refactor proxy auth a bit

- Remove authentication scheme option. We only support basic at the moment -
we'll add the option back when we diversify.
- Add some meta variables to make printout nicer
Docs - features.
Docs: Set Headers
Docs: move features into their own directory
Docs: remove proxydroid instructions from Android.

The "official way" is now to just use transparent mode.
First draft of "How mitmproxy works", a complete guide to the mechanics of the proxy process
Minor cleanups of proxy request handling.
Unit test love - 100% for flow.py, dump.py
Use new netlib certificate store implementation.