* Windowing and grouping: WindowChannel, GroupChannel, windowby(), groupby()
* Chaining: ChainChannel, chain()
* Observing channels for side-effects: ObserveChannel, observe()
* Improved exception handling within channels, to ensure traceback is properly captures.
Note that this is python-2 oriented, and will need to be revisited for python 3.
* Added some channel utility functions: channel_join, merge_keyed_channels, incremental_assembly
* Some additional unit testing improvements