Protect subscribe/forEach implementations against user provided function failures

Related to https://github.com/Netflix/RxJava/issues/216

The new forEach unit test went into a deadlock prior to this fix.