libchromeos: Add Error::Clone()

Error::AddTo() claims ownership on nested error. If code is provided
with just plain pointer or reference, without ownership, this error
could not be used as nested.

As workaround, code can Clone() error and use the result with
Error::AddTo().

BUG=none
TEST=unittest

Change-Id: I1a4a1b1c7e1ce44f5da496052dc6ed2374d41859
Reviewed-on: https://chromium-review.googlesource.com/262058
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
3 files changed