Zip potential NPE fix.

Issue #1891

My best guess is that the visibility of the items in the observers array is not guaranteed and some CPU/JVM optimizations may expose this. The fix initializes the observers array locally and uses the memory barrier provided by the incrementAndGet on the producer to ensure everything before that becomes visible for the subsequent subscriptions.
What is setting this to -1 seeking to achieve?