finish swapping int to unsigned long for extensions
relax on rules for creating a label to allow UTF-8 multibyte characters
change type for strlen to unsigned long
fix compiler warning
tweak greg recipe to remove warning
strtok is not thread-safe.  Finally found that one...
update test module
Version is defined in one place now.

There were redundancy: multimarkdown version is specified in parser.h and in
makefile. This change removed version from parser.h, so the version is defined
in one location now. When you want to bump version, only one file should be
edited.

Makefile tricks explained:

    override CFLAGS += -D MMD_VERSION='"$(VERSION)"'

1.  Without `override` asignment works only if CFLAGS is *not* defined in the
    make command line.
2.  Double quotes are required because code expects MMD_VERSION is string.
3.  Single quotes are required to protect double quotes -- otherwise shell will
    strip double quotes.
allow empty list items
undo pull request
improve empty list handling
fix potential bug
update test suite
fix for multibyte characters of 3 bytes+
update test suite
allow empty list items, as long as they aren't at the beginning of a list;  If this breaks other features, I may have to reverse this commit
don't require blank line after horizontal rule
rewrite pull request from jibee
finally move footnote return link to last para
update test suite