Added the `Result[E, T]` data type

Why not use scala's NonFatal?