Add scope chaining to fusebox.macros/scope

- If the first form passed to the fusebox.macros/scope macro is :chain
  the global fuse state will be used to initialize the state inside the
  macro block. Changes to the external state will not take effect inside
  the macro block.