lisp/gnus.auth-source.el (auth-source-search): return boolean on :max 0

* lisp/gnus.auth-source.el (auth-source-search, auth-source-search-backends):
Treat :max 0 as an indicator that a boolean return is wanted, as
documented. Reported by Joe Bloggs.
Avoid adding bracketed paste keys to command keys

* lisp/term/xterm.el (xterm-paste): Use large finite timeout when
reading event to avoid putting keys in this-command-keys.
Avoid undefined behavior in signed left shift.

This ports to GCC 4.9.0 with -fsanitize=undefined.
* alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
* data.c (Fash):
* regex.c (extract_number):
* lisp.h (make_number, XINT):
Do not shift a 1 bit left into a sign bit.
* alloc.c (struct cons_block, struct float_block): Use unsigned,
not int, for gcmarkbits.  All uses changed.