Implemented `OnionTransport`.

- Changed the `init_socks.py` demo so that the successful creation of a
new `OnionSocksProtocol` object drives the creation of `OnionTransport`,
`OnionCircuit`, and `OnionConnection` objects.

- Changed a number of classes so that they now inherit from `object`.
Renamed `onionsocks.py` to `socks.py` for consistency.
Implemented DEBUG_PROXY_DEMO.

By running `init_socks.py`, the demo performs do clearnet proxying
through the infastructure of the `OnionTransport`.

`OnionConnection` was modified to open an IPv4 forwarder to the
client's `dest`. (It's now a real mess.)

Constructors of objects along the `OnionTransport` were changed.

An `OnionConnectionReceiver` class was added to clarify which
direction is which in the `OnionConnection`.
Simplified the transport demo significantly.

`OnionConnection` objects now have both `sender`
and `receiver` member variables. The former is a
`Forwarder` while the latter is a `MultiForwarder`.
cleanup path.py
update .gitignore
fix docstrings in circuit and connection to prepare for merge
update changes to prepare for merge
prepare for merge
add setup.py
Fixed regressions on the `init_socks.py` demo.
Fixed some broken and unnecessary imports.
fix netstatus config issues
Reintroduced `oppy/data/.gitignore`.
refactored tests into Twisted trial
updated README with test information
Merge branch 'transport' of https://github.com/nskinkel/309Project into transport
move 'data' to top-level directory; we don't want to mix code/packages with arbitrary data