refactor router signifcantly, remove need for local eval

resolve response fn in router
response builder only depends on response map
router DSL supports response fns or response maps, not body fns
router simplified, use fns instead of macros where applicable