Fixed a number of Clang warnings

A few implicit casts between A2_errors and RCHM_errors.
These are fine, but should of course be explicit, since the
two enums only have a small number of equivalent codes!

Bogus ep < 0 checks in a2_Senda() and a2_SendSuba() eliminated.
The arguments are unsigned precisely to avoid  these checks!

Functions dealing with negative return values now use 'int'
instead of A2_errors to avoid warnings about checking unsigned
variables for negative values.

Various pointer alignment warnings eliminated. (There are more
of them, but those are related to #81.)

Incorrect sizeof() uses for memset() in rchm.c fixed.

Closes #135.
Minor CMakeList.txt tweaks

Compiler flag quoting fixes.

-Werror flags moved to separate lines.