Clean up lam-result.

Make drest a list instead of a pair, replace an int-err with a match error
which has source location, and remove static name for rest argument in error
case.
Fixup tc/plambda.

Makes it so that returned type is actually what was calculated by
type checking instead of the expected type. Closes PR 13751.

Makes catch all case be an actual catch all case. Closes PR 13754.