Add read-only mode to getChannel

getChannel() would always create every non-existing channel in a channel's
hierarchy. When setting up a subscription this is fine but when trying to
retrieve or publish this behaviour is unwanted.

In the following cases this could cause the creation of unnecessary or
even unwanted channels:

  - getSubscriber(), if the channel doesn't exist there is no subscriber
    and no need to create the channel
  - remove(), if the channel doesn't exist there is nothing to
    remove and no need to create the channel
  - publish(), when trying to publish data to a channel there is no need
    to create the channel as there would be no subscribers

Any of these scenario's could happen when there is a typo in the channel
namespace.