replace app with app_next

Use the adapt-v1 function to convert old dataflow descriptions to new
dataflow descriptions.
throw an exception when tests timeout
inspect changes when a value is replaced by nil
add tests for associng empty maps and nil
do not report parent updates when children are removed
only run output when inputs have changed
introduce emitter modes

:mode = :always means that the emitter will always run. :mode = nil
means that the emitter will only run if a previous emitter has not
already handled its input.
add removed-map function to get a map of all values which have been removed
fix broken test
fix broken transform function wrapper
fix broken effect function wrapper
improve wrapper function around emitters

Set the :mode to :always and include removed elements in the updated
keys list.
when adapting old dataflow descriptions, allow for map topics

This is no longer supported but some old applications use this format
for topics.