Value-types for type traits
- Refactored type dependent functions to use std::enable_if_v instead of std::enable_if::value
- Use value types for type traits (i.e. std::is_arithmetic_v instead of std::is_arithmetic::value
- Add SI::detail::is_ratio_v and SI::detail::is_unit_t_v