Fix build on mingw
Add Makefile for mingw
Check __MINGW32__ instead of !defined(_MSC_VER)
[dist] remove a workaround for EditorConfig on Win32

See: https://github.com/editorconfig/editorconfig/issues/125
Merge branch 'topic/multithread'
Merge pull request #33 from mattn/mingw

Fix build on mingw
add a test (Close #24)

Issue #24 has been fixed by the following commits:
 * b9fba1dc63ccb42a86e934011b468e6022fabb74
 * c1fc76b9bd463948ffc5058bc352bf93732f0314
 * a0efc0a200f7108ca3d5ac3039c8f952e0051619

Segmentation fault might occur before the fix.
[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