gtype: remove interface-after-init exceptions

A year ago, we tried to remove support for adding interfaces on
already-initialised types.  There were problems with the C++ and C#
bindings at the time, so we added exceptions to give them a bit more
time to catch up.

It's already one cycle after when these exceptions were planned to be
removed, so let's take them out now.

https://bugzilla.gnome.org/show_bug.cgi?id=697229
assert-msg-test: Explicitly quit gdb session to avoid zombie

gdb is run in batch mode, and can leave leave the program being
executed/debugged running when the batchfile is finished. Explicitly
"quit"ing the subprocess prevents it from leaving the stray subprocess
when gdb finishes.

https://bugzilla.gnome.org/show_bug.cgi?id=731366
gnextstepsettingsbackend: Use same token for function-call and its availability

Availability of the g_nextstep_settings_backend_get_type() prototype
is controlled by HAVE_COCOA in gsettingsbackendinternal.h and the
actual implemenation by OS_COCOA in Makefile.am. Therefore, the
giomodule.c call to that function should also be protected by a COCOA
token rather than an CARBON token (cocoa and carbon are independent
autoconf tests).

https://bugzilla.gnome.org/show_bug.cgi?id=731425
gparam: change value of G_PARAM_EXPLICIT_NOTIFY

GParamSpec has a possibility of user-introduced flags, and we didn't
respect that with the addition of _EXPLICIT_NOTIFY.

Change the documentation for the maximum number of user flags to 10,
just to pick a somewhat random number.  The documentation here was never
correct anyway -- it previously claimed that as many as 38 flags were
possible.

Meanwhile, move G_PARAM_EXPLICIT_NOTIFY next to _DEPRECATED in order to
avoid conflicts with low-numbered user flags (which are in use by at
least evolution-data-server).

https://bugzilla.gnome.org/show_bug.cgi?id=731341
gbookmarkfile: Cleaner error handling code to pacify static analysis

A static analyzer flagged the g_file_get_contents() call as not
checking its return value.  While the code here is actually correct,
it's verbose at best.

I think the "goto out + cleanup" code style is substantially cleaner,
less error prone, and easier to read.  It also will pacify the static
analyzer.

https://bugzilla.gnome.org/show_bug.cgi?id=731584
gparam: Remove unnecessary conditionals around preconditions

These cause a static analyzer to think we're trying to actually handle
them being NULL, which is not the case.  They both must not be NULL,
period.

No idea why the code was like this originally.

Reviewed by mclasen on IRC.
gio/tests/socket: fix minor memleak
Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files

Fixes static linking when using the glib pkgconfig file.
Regression was introduced in commit 8d037c6 (bz #668152)

https://bugzilla.gnome.org/show_bug.cgi?id=731657
Try to make gobject.py work with both pythons

This change was suggested on the fedora test list, and has been
reported to work.
gatomic: disable GCC extension atomics for clang

clang defines the macro that we use to test for GCC's extension support
for C11 atomics, but doesn't define the extension in the same way.
Check for clang and disable the macros again if we find it.

https://bugzilla.gnome.org/show_bug.cgi?id=731513
configure.ac: fix check for futex and eventfd

We were using AC_LANG_PROGRAM to build a program to test for our ability
to call syscall (__NR_futex, ...);.  This macro adds "main () { ... }"
around the provided code segment automatically.  The provided code
segment provided its own main() function, however.

The result looked something like:

int main (void) {
  int main (void) {
    ...
  }
}

which worked on GCC, but not on clang.

Let's fix that.  Let's fix the same mistake copied over for eventfd()
detection while we're at it.
docs: fix a broken sentence
docs: Correct param to interface's default_init()

https://bugzilla.gnome.org/show_bug.cgi?id=731979
gwakeup: Clarify buffer sizing in g_wakeup_signal()

The code in g_wakeup_signal() is currently correct: it writes a 64-bit
counter increment value if the FD is an eventfd, and writes an arbitrary
8-bit value if using a normal pipe.

However, the reasoning behind these buffer sizes is not clear, and the
mismatch between the allocated buffer size and the length passed to
write() in the pipe case could be mistaken for a bug.

Coverity issue: #1159490

https://bugzilla.gnome.org/show_bug.cgi?id=732002
goption: Remove an unused assignment

Coverity issue: #1159514

https://bugzilla.gnome.org/show_bug.cgi?id=732005
gclosure: Remove an unused alloca() and assignment

Coverity issue: #1159511

https://bugzilla.gnome.org/show_bug.cgi?id=732005
gtestdbus: Don’t close stdout for dbus-daemon

The stdout FD passed to dbus-daemon is propagated to all its child
processes, such as service activated processes. If we close the FD after
reading the bus address from the daemon, any child process which
subsequently writes to stdout (e.g. for logging) will get a SIGPIPE and
explode.

Instead of closing the stdout FD immediately after dbus-daemon has
spawned, keep it open until the daemon is killed.

https://bugzilla.gnome.org/show_bug.cgi?id=732019
Return folder as icon for directories

'folder' is the name of the folder icon in the incon naming spec,
and the Adwaita icon theme doesn't include an inode-directory icon.
This fixes folders appearing as generic file in the file chooser.

https://bugzilla.gnome.org/show_bug.cgi?id=731996
gsignal: Add an example to the g_signal_connect_swapped() documentation

The precise behaviour of and motivation behind swapping parameters was
not entirely clear before.

https://bugzilla.gnome.org/show_bug.cgi?id=732068
gsocket: Document that g_socket_create_source() holds a socket ref

This is quite important, as it means you can safely let the GSocket drop
out of scope while maintaining a reference to the GSource, and the
socket will remain open. That means fewer closure structures, simpler
code, and fewer allocations.

https://bugzilla.gnome.org/show_bug.cgi?id=732081