make lookup functionality pluggable

We'd like to be able to override how a consumer queries from NSQLookupds.
I think this approach would also allow others to switch NSQLookupd for etcd, zookeeper,
etc.

This is still a WIP but I hope you can see where I'm going with this.
Suggestions and Criticism welcome.

cc @oliver-bitly @jehiah @mreiferson
The alternative to exposing a method to set this would be to make it a field of the `Config` struct.

I don't know if that's better or worse, just wanted to talk it through.