Move braces out of "#if 0 ... #endif"

Merge Ruby r24658.

* enc/unicode.c (onigenc_unicode_mbc_case_fold): balanced braces.

Some editors (Emacs?) might be confused if only open braces are inside
"#if 0 ... #endif".
Add #ifndef xmalloc

Merge some part from Ruby r12376.
Suppress warning on GCC

Merge Ruby r33951, r33954, r33955, r36060 and r36072.
Fix coding style
Define a macro "numberof"

Define a macro to get the length of an array.

TODO:
We have three copy of "numberof" in enc/unicode.c, regint.h and
regposerr.c. They should be merged into one.
Is it safe to move them into regenc.h?
Change the way to initialize PosixBracketEntryType

Based on Ruby r25037.

* Use a new macro "POSIX_BRACKET_ENTRY_INIT".
* Use "numberof" to look up an array.
testpy.py: Add more tests

* Property name is not case sensitive.
* POSIX bracket name is case sensitive.
Add ARG_UNUSED

Merge Ruby r15130 partly.