add macro to help test private functions
make all non-API functions private in app.clj and dataflow.clj
finish the new default-emitter function

Added tests to show how the default-emitter works with different
configurations. Improved the way we handle removed inputs.
transform config as a map now uses msg/type and msg/topic instead of
:key and :out
use clojure.set/rename-keys instead of custom implementation