[dist] update HISTORY
[dist] update HISTORY
fix coding style
[dist] testpy.py: change 'region' to a local variable

Now, it becomes easy to execute a test manually from the python's
interactive shell.
E.g.:

    $ python
    >>> import testpy
    >>> testpy.x2(r"a+b+", "aab", 0, 3)
    OK: /a+b+/ 'aab'
[dist] makedef.py: simplify the logic
[dist] makedef.py: detect if a feature macro is enabled
[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.
[dist] update Makefile.mingw

Some make targets didn't work.
[bug] fix warning about alloca() with MinGW (fix #35)
Merge branch 'topic/check-group-numbers'
[dist] change the default python command to 'py'

The 'py' command (python launcher) is available since Python 3.3. It is
installed in a PATH directory by default. So it is easier to use than
the 'python' command.

see:
https://docs.python.org/3/using/windows.html#python-launcher-for-windows
[dist] remove an unnecessary include directory
[dist] remove redundant rules
Merge branch 'topic/update-makefile'
[dist] create an import library

'make ptest' didn't work because the import library wasn't created.
(Actually, MinGW doesn't need an import library.)
[dist] update HISTORY
Merge branch 'master' into tmp/ruby-2.0.x