Decouple payload processing from pop/unpack + tune abstraction layers
A few goals here:
- allow RELAY cells to be unpacked / popped without error, and passed to another level for decryption
- put the encryption/decryption logic in cell.py, but require the crypto state be managed in Connection/Circuit/Stream layers