Modernize libartbase/ usage of <type_traits>...

... and other standard library templates.

Use `std::*_t<...>` and `std::*_v<...>` instead of
`std::*<...>::type` and `std::*<...>::value`.

Remove some unnecessary "typename" qualifiers and second
arguments to `static_assert()`.

Test: Rely on TreeHugger.
Change-Id: I4dc8e6fd905c60f652d3ac74bdf3d275b98daee8
21 files changed