Handle GI_TRANSFER_EVERYTHING for returns of foreign structures

Any (transfer full) return of a cairo type other than a path
was leaked.

Pass the transfer type PyGIArgOverrideFromGIArgumentFunc and handle
it for the cairo foreign type. For paths we can only handle
(transfer full) so throw an error for (transfer none).

https://bugzilla.gnome.org/show_bug.cgi?id=726206
Update Free Software Foundation addresses

Update all references to the FSF physical address
to use the web address: http://www.gnu.org/licenses
docs: Ignore meta-class bases in dynamic docstring generation

Skip attempts at generating a doc string for GObject meta-class bases
since they do not contain an __info__ attribute.
This circumvents errors with documentation generators (Sphinx).
Quote argument names in initializer deprecation warning

Add quotation marks around names of deprecated positional arguments.
This makes the message clearer in stating what has been deprecated
in cases when only a single argument is displayed.
docs: Standardize Python doc strings

Use consistent doc string quotations (three double quotes).
Update usage of GObject.GObject in docs to GObject.Object.
Use reStructuredText markup for parameter annotations, instance variables,
admonitions, and code examples.
This allows for better Sphinx documentation generation for the project.
Preliminary style guide:
https://wiki.gnome.org/Projects/PyGObject/StyleGuide
configure.ac: Remove option to build without libffi

We've always had a hard dependency on libffi headers.
Commit 5798f94b6a727b93 added a direct module dependency on libffi
instead of indirect via GI. Remove the option to build without libffi.
release 3.11.92
configure.ac: post release version bump to 3.11.93
pre-release version bump to 3.12.0
release 3.12.0
configure.ac: post release version bump to 3.13.1
HACKING: Update branch creation instructions to include -b
tests: Rename test_overrides to test_import_machinery

Rename this test to better suit the contents of the file. This also gives
us a more concise location to grow other tests related to import machinery
internals.

https://bugzilla.gnome.org/show_bug.cgi?id=726877
Raise ImportError when importing modules not found in repository

Raise an ImportError with extra information noting the typelib was not
found. This removes the need to log a similar message which adds output
noise when attempting controlled imports within try/except statements.
In Python 2, the additional information is lost but in Python 3 it shows up.

https://bugzilla.gnome.org/show_bug.cgi?id=726877
Ignore GValueArray deprecations

Wrap calls to GValueArray related calls with G_GNUC_BEGIN/END_IGNORE_DEPRECATIONS.
Although GValueArray is deprecated, we still need to support the marshaling of
them in PyGObject. The deprecations add noise to the build processes in which
new warnings could be lost. Essentially losing the element of surprise a new
warning should have on maintainers.