Fix: Invalid function: cc:dataflow-channel

This patch is written on top of #19.  Please review #19 first.

Prior to this patch, `make clean compile test` fails even before running tests with error message:

    Invalid function: cc:dataflow-channel

This is because the macro `cc:dataflow-test` is used in `cc:dataflow-environment` which is prior to definition of `cc:dataflow-test`.  To solve this, `(defmacro cc:dataflow-channel ...)` is moved prior to `cc:dataflow-environment`.  For consistency, other internal utility macros are moved alongside with it too.