[bug] double free may occur

If parse_enclose() returns an error, the node '*np' will be freed in
parse_branch().  Thus there is no need to free '*np' in parse_enclose().
[bug] add checking the number of capture groups (fix #24)

The number of capture groups is handled with `MemNumType` which is
`short int`. Thus the maximum number is limited to 32767.
A check of the number is added in `scan_env_add_mem_entry()`.
Also a new error code `ONIGERR_TOO_MANY_CAPTURE_GROUPS` is added.
[dist] update testpy.py

The maximum group number is now limited to 32767.
Merge branch 'topic/check-group-numbers'