Fix handling of dest charsets with chars > u7FFF and missing chasets
Prevoisly, if unexisting charset was specified in the command line,
catdoc/xls2csv/catppt silently falls back to default charset. Now it
exits with non-zero exit code and appropriate message
It was also found that in make_reverse_map unicode code was incorrectly
casted to (unsigned) instead of (unsigned short) which cause segfault
if charater with 16-bit unicode code highest bit set present in the
destination charset (i.e. in mac-roman).