tor-proto: Implement IncomingStream::discard()
This MR also introduces an IncomingStreamState
enum, which indicates
whether the stream was accepted, discarded, or rejected, or if it is
still pending. The is_rejected
/is_accepted
boolean flags are no
longer needed.
Without this change, I would've had to introduce yet another boolean flag
for the state entered after calling discard()
.