Fix small leak in pythonui.c python_ui_setup_callback()

Another use of the recent routine gutils/fsys.c :: getFontForgeUserDir()
that requires a free() of the newly allocated string after use.

Note that there was an unprotected path if a NULL was returned from
getFontForgeUserDir().  The old code would have tried to use the null
pointer.  The fix protects against that, but rather does 'nothing' if
NULL is returned.  Maybe it should blow up horrible bad instead?
Win32: S_ISLNK doesn't exist (difference in symlink implementation)

Symbolic links on Windows are different to that on POSIX systems. S_ISLNK does
not exist, but should not be needed on Windows anyway.
lookups: selectively process `case` in the metrics window
Use gnulib for strtok_r. See PR #1475 for more info.

This restores Windows XP compatibility.
Merge pull request #1639 from jtanx/win32

Win32: Compilation fixes
Fix webcollab.py to be more Python3 compatible

Change c3770c88b50 introduced a new python source file, webcollab.py,
containing some print statements, a well-known incompatibility at the
source level between Python 2 and Python 3.

Starting an updated fontforge built with Python 3 produces this error:

  File "/home/tom/local/share/fontforge/python/webcollab.py", line 39
    print 'webcollab closing...'
                               ^
SyntaxError: invalid syntax

This fix merely changes to the Python 3 function call format for print.
It seems to satisfy both Python3 and Python2...
Merge pull request #1643 from tshinnic/webcollab_python3_compat

Fix webcollab.py to be more Python3 compatible
GFileChooserScanDir: increment the history count, otherwise we will keep allocating a constant value
GGadgetWildMatch: NULL-check before dereferencing
GListClearSel: avoid NULL ptr dereference
Merge pull request #1644 from adrientetar/file-chooser

GFileChooser: fix various issues that could lead to a crash
Merge pull request #1641 from adrientetar/case-exclusion

lookups: selectively process `case` in the metrics window
Add reencode function in Python binding
Add error checking to patch with stderr display on errors

Each of three points where errors can be detected will now generate an
appropriate error message on stderr.

Also changed to using the asprintf method for dynamically generated strings.
Merge pull request #1648 from medicalwei/squashed

Add reencode function in Python binding
Display errors using LogError in "Warnings" popup window

More investigation found that `LogError()` seemed to fit the need to
present errors to users in a more visible way, rather than using
`fprintf(stderr, ...)`.  `LogError()` will popup a "Warnings" window
if not yet displayed when running with a UI.  When not running under
a UI, it will print to stderr instead.

Also, use of asprintf() under GNU platforms generates a complie
warning, which can be avoided by defining `_GNU_SOURCE`, but which
must be defined before several other includes, and must be defined
as '1' to agree with `Python.h`
Move old Debian stuff.
Add new Debian packaging.
Merge pull request #1650 from fontforge/frank_packaging_5

Update Debian packaging.
Fix a logic error causing output of real numbers in ufo.c to fail.