MAINT: double underscores in Lapack-lite C module

Strictly speaking, any non-standard name with "__" in it causes
undefined behavior in C. It's also completely unnecessary to use
any in this module.
MAINT: C identifiers causing UB + useless char returns

C identifiers aren't allowed to match "^_[A-Z]". Fixed that in
numpyos.c and removed some more useless underscores.

Changed NumPyOS_ascii_tolower and the code that calls it to handle
ints, not chars. C promotes char to int in so many situations that
char variables are just a pain. (The C standard library uses int
in <ctype.h>, for example.)
MAINT: unused variable, formatting
MAINT: typo
MAINT: fix item_selection.c so it compiles without warnings
Merge pull request #3950 from larsmans/c-fixes

C fixes