Append will combine all errors into a single error. Any nil errors will be
skipped, only actual errors are retained. If only one error is supplied it
will be returned directly. If no error is supplied the function will return
nil. Otherwise an Error will be returned containing the errors as sub-errors.