Began `connection/handshake/v{2,3}.py`.

Moved the abstract handshake object from which the circuit handshakes
inherit into `util/handshakefsm.py`. Adapted them as necessary.
Merge branch 'demo/master' into demo/connection_fsm

This merged Nik's recent refactor of the netstatus package.
Filled in details of `connection/handshake/v3.py`

Also made some unit tests and fixed some bugs in the various handshake
classes.
Fixed bugs; revised `test_circuit_handshakes.py`.
Merge branch 'demo/master' into demo/connection_fsm
Various bug-fixes.
Fixed bugs in `test_connection.py`; simplified it.