Misc clarifications around CONNECTED and BEGIN behavior
Namely:
- CONNECTED messages may be empty.
- CONNECTED messages from onion services should be empty.
- It is a bad idea to cache IP addresses you get from an exit.
- END(DONE) is for the case where we reject a BEGIN without destroying the circuit.