This patch adds a global assertion handler that is called when _LIBCPP_ASSERT fails. This allows us to test debug mode features without _LIBCPP_ASSERT always calling abort().
This patch also fixes PR17147 and uses the new assertion handlers in the tests. (see https://llvm.org/bugs/show_bug.cgi?id=17147)