Centralize workaround for Python 2.6's Py_DECREF.

Wrap/redefine Py_DECREF ourselves, avoiding the need for uses to care
about extra braces due to the fact that Python only started wrapping Py_DECREF
in 'do {} while (0)' after 2.6.

gdb/
2013-05-21  Pedro Alves  <palves@redhat.com>

	* python/py-utils.c (py_decref): Remove extra braces.
	(gdb_pymodule_addobject): Remove extra braces.
	* python-internal.h (gdb_Py_DECREF): New static inline function.
	(Py_DECREF): Redefine as calling gdb_Py_DECREF.
py_decref: Don't check for NULL before calling Py_DECREF.

The only difference between Py_DECREF and Py_XDECREF is that the latter allows passing
in a NULL object, while the former prohibits it.  Given that, it's natural to expect
the same from py_decref vs py_xdecref.

gdb/
2013-05-21  Pedro Alves  <palves@redhat.com>

	* python/py-prettyprint.c (apply_val_pretty_printer): Check
	whether PRINTER is NULL before installing a Py_DECREF cleanup.
	* python/py-utils.c (py_decref): Don't check for NULL before
	calling Py_DECREF.
gold/
    	* object.cc (Sized_relobj_file::get_symbol_location_info): Set
    	type of enclosing symbol.
    	(Relocate_info::location): Check symbol type when describing symbol.
    	* object.h (Symbol_location_info): Remove unused line_number;
    	add enclosing_symbol_type.
    	* testsuite/debug_msg.sh: Adjust expected output.