Avoid generic collections operations hot paths

 - Use a specialized version of List#{map, collectFirst}
 - Avoid nonEmpty in favor of `ne Nil`

I see in the order of 2% speedup. Perhaps more useful is that
these methods no longer dominate the YourKit profiles, even though
that was probably due in a large part to profiler bias due to
safepoints.