Split NSQ test into separate functions for writing to and reading from topics/channels

the nsq test was totally janky, I believe it was the first test I tried to write in go. Since it was testing the toNSQ and fromNSQ blocks in the same function, it would often run the fromNSQ before the toNSQ.

I separated it out into two functions and it passes now.