This commit contains refactorings around __dynamic_cast without changing its
behaviors. Some important changes include:
- Refactor __dynamic_cast into various small helper functions;
- Move dynamic_cast_stress.pass.cpp to libcxx/benchmarks and refactor it into a benchmark. The benchmark performance numbers are updated as well.
If you make the if explicit, you get too much indentation?