Removed a deadlock case in BasicStream (if the stream errors out, we never released the lock)
Changed how error handling works in the network protocol. Becoming a little more lenient about dropping connections - a lot of times unexpected messages get delivered to us, we shouldn't just drop the connection right away.
2 changes in this PR: