Add a python instance cache invalidation mechanism.

Before this, a cached FDW instance would be kept until the death of the backend.
This patch caches a list of options and a list of column definitions to be
compared against the current set of columns / options of the foreign table. If
they don't match, the cached instance will be replaced by a fresh instance using
the new values. Fix #11.
Fix the test case when adding a column.
pgindent.
MacOS X installation patches

fixed sed -i issues on OSX
fixed hardcoded /usr/include/{postgresql,python} directories in
Makefile and setup.py
adjusted .gitignore
Remove empty "strings" from modified sed line.