BugFix: Zip

This is a manual merge of https://github.com/Netflix/RxJava/pull/495 where I added some unit tests and suppressed warnings while reviewing the refactor done by @akarnokd

I believe this fixes issue https://github.com/Netflix/RxJava/issues/387