add dynamically scoped options for hooks

This allows the user to provide options closer to where a plugin or hook
is actually used vs. in Router.configure. But then we hook implementers
can still call this.lookupOption to find the right option.