replace always_void by disable_if_substitution_failure that, while somewhat less ideal, works on GCC

Signed-off-by: K-ballo <k@fusionfenix.com>