Fix UNHEX

Which was broken for the value 'a' (a la #526 which dealt with 'z' = 7A).

Simplify the code, along with method renames for clarity.