chans: add documentation, combine error checking

Added documentation for all exported types, function, and methods.

Combined the channel error checking into a single method to improve
consistency, and reduce redundancy.

Also added chans to top-level README.md