Improve AIX port.

This doesn't fix the bug, but it makes progress: Emacs builds now.
* unexaix.c: Include inttypes.h, stdarg.h.
(report_error, report_error_1): Mark as _Noreturn.
(report_error): Don't report the wrong errno.
(report_error_1): Now varargs.  All callers changed.
(make_hdr): Use uintptr_t, not unsigned, when converting pointers
to unsigned.  Don't use ADDR_CORRECT, as it no longer exists.
(write_ptr): Use %p to print address rather than %lx and a cast
to unsigned long.  Grow buffer a bit, to be safer.
keymaps.texi small fix for bug#13684

* doc/lispref/keymaps.texi (Scanning Keymaps):
Remove obsolete sentence about meta characters; this changed in 22.1.
In doc, use standard American English style for e.g., etc., i.e.
* pre-crt0.c (data_start): Initialize to 1.

This ports to compilers that optimize the external declaration
'int x = 0;' as if it were 'int x;' to shrink the executable.
Improve AIX port some more.

With this, it should be as good as it was in 23.3, though it's
still pretty bad: the dumped emacs does not run.  See Mark Fleishman in
http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
* unexaix.c (start_of_text): Remove.
(_data, _text): Declare as char[], not int, as AIX manual suggests.
(bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
(orig_load_scnptr, orig_data_scnptr):
Now off_t, not long, since they are file offsets.
(make_hdr): Use _data, not start_of_data ().
This is the key part of the fix.
(make_hdr, unrelocate_symbols): Use off_t for file offsets.
(unrelocate_symbols): Cast pointers to intptr_t, not to ulong.
* doc/lispref/modes.texi (Minor Mode Conventions): Fix typo.
* doc/lispref/objects.texi (Char-Table Type): Add footnote about #^^.
* src/keyboard.c (input-decode-map, key-translation-map): Doc fixes.
* xml.el (xml-parse-string): Fix typo in handling of bad character references.
Cleanup related to bug #13546 with subprocesses on MS-Windows.

 src/w32.c (sys_pipe): When failing due to file descriptors above
 MAXDESC, set errno to EMFILE.
 (_sys_read_ahead): Update cp->status when failing to read serial
 communications input, so that the status doesn't stay at
 STATUS_READ_IN_PROGRESS.
More robust creation of a subprocess, attempt to solve bug #13546.

 src/w32proc.c (new_child): If no vacant slots are found in
 child_procs[], make another pass looking for slots whose process
 has exited or died.
* progmodes/python.el (python-info-current-defun): Fix current
defun detection.
Push ChangeLog entry for previous commit.
* progmodes/python.el: Explain how to restore "cc-mode"-like
forward-sexp movement in header documentation.
(python-nav--forward-sexp): Behave like emacs-lisp-mode in
comments and strings (GH bug 114).
* lispref/modes.texi (Basic Major Modes): 'z' no longer bound in special-mode.
* lisp/net/goto-addr.el (goto-address-fontify): Add start and end args.
(goto-address-fontify-region): Use them instead of narrowing, so
syntax-ppss has access to the whole buffer.
* emacs-lisp/easy-mmode.el (define-minor-mode): Doc fix re setf.
Fix AIX port.

* configure.ac (DATA_START, DATA_SEG_BITS): Set to 0x20000000 on AIX.
(GC_MARK_STACK): Do not set to GC_USE_GCPROS_AS_BEFORE, as that
runs afoul of some other bug in Emacs, and the default value
GC_MAKE_GCPROS_NOOPS has been tested and works.
* src/lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]:
Fix bug introduced in 2012-07-27 change.  DATA_SEG_BITS, if set,
was #undeffed earlier, so it cannot be used as a macro here.
Use the constant and not the macro.  Tested on AIX.
* src/unexaix.c: Revert 2013-02-11 and 2013-02-12 changes to this
file.  They're almost surely OK but we're just before a release so
we should avoid changes unless they're clearly needed.  Instead,
make the following minor change:
(ADDR_CORRECT): New macro.
Backport GCPRO fix from trunk.

The bug was reported for AIX before today's changes.
I reproduced the problem on Fedora 17 x86-64 when setting
GC_MARK_STACK by hand, and I presume it occurs with default
configurations on HP-UX and Unixware.
Trunk fix on 2013-01-14 by Dmitry Antipov <dmantipov@yandex.ru>:
Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
* eval.c (eval_sub): Protect `form' from being GCed before its
car and cdr becomes protected with the backtrace entry.
Improve error reporting as part of solving bug #13546 on MS-Windows.

 src/w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname)
 (sys_gethostbyname, sys_getservbyname, sys_getpeername)
 (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname)
 (sys_accept, sys_recvfrom, sys_sendto, fcntl): In case of failure,
 make sure errno is set to an appropriate value.  (Bug#13546)
 (socket_to_fd): Add assertion against indexing fd_info[] with a
 value that is out of bounds.
 (sys_accept): If fd is negative, do not set up the child_process
 structure for reading.