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
updated README after merge
Added underscores to fields of `transport`.

This is to suggest that neighboring components within the transport
object should not refer to one another directly. They should instead
only be interacting with the transport itself. This should keep class
coupling to a minimum.