[gabi++] std::unexpected() is allowed to throw exceptions.

According to the C++ standard, std::unexpected() can throw the
exception.  Thus, we should not specify the exception specifier (i.e.
noexcept) and we should not capture the exception thrown by the
user-specified unexpected handler.

Change-Id: I84a7606c1410f04cbee3e124786d07b36e138eec
5 files changed