chans: channel utilities

Created a chans package for utilities to work with channels.

Currently there is a Publisher object which takes a channel and
publishes any messages sent on it to all subscribing channels.
Documentation to come soon.