add pkg-config
add Python binding with new features python, python2, python3, refactor benchmark script

Both Python 2 and Python 3 are supported, can be disabled by choice. Unittest and benchmark are also done. Unittest is done by Autotest, not Python’s standard library. That’s because all test inputs and expected results are shared between different tests.

The checking of Python version is not by AM_PATH_PYTHON macro, which can’t handle Python 3 checking, for instance, using Automake 1.13.4:

    AM_PATH_PYTHON([3.0])

This throws warning on a system even both 2 and 3 version are available, therefore in this commit, AC_PATH_PROG macro is used to check and set up variables manually.

No command-line in Python is provided since it's only for binding, although tests/testsuite.td.py -- a script helper for testing that awkwardly handles options -- somewhat resembles a CLI tool.