MINOR: h1: Use BUG_ON() to enforce rules in subscribe/unsubscribe.

It is not legal to subscribe if we're already subscribed, or to unsubscribe
if we did not subscribe, so instead of trying to handle those cases, just
assert that it's ok using the new BUG_ON() macro.
diff --git a/src/mux_h1.c b/src/mux_h1.c
index e3f104f..dfe4d3f 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -2178,17 +2178,15 @@
 
 	if (event_type & SUB_RETRY_RECV) {
 		sw = param;
-		if (h1s->recv_wait == sw) {
-			sw->events &= ~SUB_RETRY_RECV;
-			h1s->recv_wait = NULL;
-		}
+		BUG_ON(h1s->recv_wait != sw);
+		sw->events &= ~SUB_RETRY_RECV;
+		h1s->recv_wait = NULL;
 	}
 	if (event_type & SUB_RETRY_SEND) {
 		sw = param;
-		if (h1s->send_wait == sw) {
-			sw->events &= ~SUB_RETRY_SEND;
-			h1s->send_wait = NULL;
-		}
+		BUG_ON(h1s->send_wait != sw);
+		sw->events &= ~SUB_RETRY_SEND;
+		h1s->send_wait = NULL;
 	}
 	return 0;
 }
@@ -2205,17 +2203,15 @@
 	switch (event_type) {
 		case SUB_RETRY_RECV:
 			sw = param;
-			if (!(sw->events & SUB_RETRY_RECV)) {
-				sw->events |= SUB_RETRY_RECV;
-				h1s->recv_wait = sw;
-			}
+			BUG_ON(h1s->recv_wait != NULL || (sw->events & SUB_RETRY_RECV));
+			sw->events |= SUB_RETRY_RECV;
+			h1s->recv_wait = sw;
 			return 0;
 		case SUB_RETRY_SEND:
 			sw = param;
-			if (!(sw->events & SUB_RETRY_SEND)) {
-				sw->events |= SUB_RETRY_SEND;
-				h1s->send_wait = sw;
-			}
+			BUG_ON(h1s->send_wait != NULL || (sw->events & SUB_RETRY_SEND));
+			sw->events |= SUB_RETRY_SEND;
+			h1s->send_wait = sw;
 			return 0;
 		default:
 			break;