simplify queue's basic_consume handler
- the call to update_ch_record in the is_ch_blocked(C1) == false
  branch was superfluos since the preceding update_consumer_count
  calls update_ch_record
- all the checking whether the channel is blocked, and associated
  branching was just an optimisation. And not a particularly important
  one, since a) the "a new consumer comes along while its
  channel is blocked" case is hardly on the critical path, and b)
  exactly the same check is performed as part of run_message_queue (in
  deliver_msg_to_consumer/3). So get rid of it.
- the is_empty & send_drained logic can be invoked earlier, which
  allows us to use the #cr we have rather than looking it up again. We
  can do this since the only case we need to catch here is that of a
  consumer coming along while the queue is empty already. If it
  becomes empty as part of run_message_queue then send_drained will be
  invoked in 'fetch'.