An OptionalThrowable should be empty and not-defined if constructed with null

A less error-prone version, in the spirit of scala `Option`.