Better configuration validation and support

* Refactored connection and reader related option validation
* Added support for other nsq ```IDENTIFY``` options
* Updated documentation
* Bumped version
I could have `[true, false, false]`. The alternative is `(fn value for fn in fns when fn value)`