Add overloads for int8_t and uint8_t

* The overloads for int8_t and uint8_t types are useful for generic programming.
* Code factorization: Templated the reverse function (same body in each overloads).