Performance optimization - Iterator flatMap, find, indexWhere, indexOf
Performance optimization - Iterator flatMap, find, indexWhere, indexOf

Tightened up bytecode, logic, and/or performance by using local return instead of a mutable variable in several methods.

Performance/bytecode size improvements (smaller bytecode = better inlining)

```
method        reason
===========   ===============================================================
flatMap       hasNext bytecode 34 bytes down from 62
find          bytecode 41 bytes instead of 53
indexWhere    1.5x faster on small collections (some contexts)
indexOf       bytecode 89 bytes instead of 110
```

jvican/scala,scala/scala,jvican/scala,martijnhoekstra/scala,lrytz/scala,martijnhoekstra/scala,shimib/scala,shimib/scala,scala/scala,jvican/scala,slothspot/scala,martijnhoekstra/scala,lrytz/scala,scala/scala,lrytz/scala,martijnhoekstra/scala,felixmulder/scala,slothspot/scala,slothspot/scala,felixmulder/scala,lrytz/scala,lrytz/scala,jvican/scala,scala/scala,jvican/scala,slothspot/scala,jvican/scala,scala/scala,felixmulder/scala,martijnhoekstra/scala,jvican/scala,felixmulder/scala,shimib/scala,shimib/scala,felixmulder/scala,martijnhoekstra/scala,slothspot/scala,slothspot/scala,shimib/scala,shimib/scala,lrytz/scala,scala/scala,slothspot/scala,felixmulder/scala,felixmulder/scala