Add fromTryCatchNonFatal to \/, EitherT, and Validation

fromTryCatchThrowable is a great addition but it does not work nicely
with type inference -- Nothing is often inferred and when not using
inference, clients must specify both the exception type *and* the result
type.

This PR adds a safer version of fromTryCatch that only catches non-fatal
exceptions, using scala.util.control.NonFatal. Note that suc.NonFatal is
included in Scala 2.9.3, as part of the SIP-14 backport.