Initial commit to `socks` branch. Includes `circuits.py` and `socks.py`.
Fixed `SOCKSProtocol._sendReply()`, resolving Issue #13.
Implemented IPv4Relay as a wrapper for a `Relay` object.
Fixed some formatting and got rid of a helper function in `socks.py`.
Fixed control-flow logic starting from `SOCKSProxy._handleHandshake()`
by adding error guards and additional logging information to the
relevant handler methods. Also moved some logic into
`_handleBadRequest()`, where it belonged.
Got `socks.py` to run.

- Fixed some syntax errors.
- Corrected `SOCKSFactory` made it simpler.
- Fixed some renaming errors.
- Fixed some import errors
Got `socks.py` to not crash when it runs, but I can't test it fully yet.

- Fixed references to `_cursor`.
- Fixed the usage of the `Enum` classes.
- Gave `_handleBadHandshake` an error message parameter.
- `log.mesg()` -> `log.msg()`
Fixed `socks.py` enough that it is receiving client data.

- Fixed problems in `_handleHandshake()`.
- Fixed problems in `_handleRequest()`
- Finished control-flow and argument passing problems in `_dataReceived()`.
- Fixed usage of the `Reply` enum.
Made the SOCKSProtocol FSM switch to `done`.
No longer listening on ephemeral ports in `socks.py`.
First working SOCKS Proxy prototype.
Fixed `socks.py` comments and renamed `Relay` to `Forwarder`.
Update socks.py

This should make the changes so that socks.py will work in python 2.7.5
Update socks.py

Don't know why it update to a previous.  Put it back to what it was.
Moved the `Forwarder` class into `util.py`.
Refactored `Forwarder`; created `ForwardingProtocol`.
Merge branch 'socks' of https://github.com/nskinkel/309Project into socks

Conflicts:
	socks.py
Merge branch 'master' into socks
Moved socks stuff out of repo root and into `oppy/`.
Fixed imports in `socks.py`.