Always check for protocol violations before anything else when handling cells
In our cell handling functions we sometimes do stuff (like assertions, logging, etc.) before checking that the cell arrived according to the Tor protocol. This leads to bugs.
This is a ticket to fix some of these bugs.