pluggable "BehaviorDelegate", currently just for discovery filter

for modifying nsq consumer behavior at some defined points
panic()s if BehaviorDelegate casts to no known interfaces

currently just supports a struct with a Filter() method, to filter
the nsqd addresses resulting from discovery (via nsqlookupd)