return None changed to raising exception

Semantics of Channel's on_receive and on_sendable changed
Bundle logic changed

Previously, for example, when max bundle size was 2, there could be a
situation that windows 1 and 5 were alive and Channel allowed sending
more packets. This has been fixed.