restore performance optimization to reduce wrapping

Without optimization:

runCompositionTest
Sum: 710082754 Time: 42.353ms
runNonCompositionalTestWithDirectLoop
Sum: 710082754 Time: 17.719ms
runNonCompositionalTestWithArrayOfFunctions
Sum: 710082754 Time: 17.344ms

With optimization:

runCompositionTest
Sum: 710082754 Time: 23.064ms
runNonCompositionalTestWithDirectLoop
Sum: 710082754 Time: 18.059ms
runNonCompositionalTestWithArrayOfFunctions
Sum: 710082754 Time: 18.88ms
remove warnings and cleanup
Restoring null check removed in recent commit

See https://github.com/Netflix/RxJava/commit/caf3a9434ed4b3b4efba6661891f02417aebf604 for removal

It started causing this unit test to fail:

rx.operators.OperationZip$UnitTest > testAggregatorUnsubscribe FAILED
    java.lang.NullPointerException at OperationZip.java:611

Not sure how I missed it when I reviewed the previous commit … but I did.
Merge pull request #133 from benjchristensen/fixes

Various fixes