Add NotNothing to witness a type is not Nothing
Use NotNothing in fromTryCatchThrowable

This now happens when Nothing as a subtype of Throwable is inferred:

    scala> \/.fromTryCatchThrowable("hello".toInt)
    <console>:14: error: ambiguous implicit values:
     both method isNothingAmb1 in object NotNothing of type => scalaz.NotNothing[Nothing]
     and method isNothingAmb2 in object NotNothing of type => scalaz.NotNothing[Nothing]
     match expected type scalaz.NotNothing[E]
                  \/.fromTryCatchThrowable("hello".toInt)
                                          ^

Which means there won't be runtime exceptions because an explicit type
parameter was forgotten.
Merge pull request #746 from puffnfresh/notnothing

NotNothing