vigenere: factor shift_char and unshift_char

Those two functions were just differing by the sign of an operation with
a modulo. Now it's always an addition and the caller should pass the
opposite value if he want a substraction.

Signed-off-by: Celelibi <celelibi@gmail.com>