Add scope chaining to fusebox.macros/scope

I have a use case where I would like to have a globally enabled set of fuses that can then be added to or removed from within a scope block (e.g. for user-specific flags). I've made a slight modification to the scope macro to enable this functionality and thought it might be something others would find useful.

- 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.