gpg: Allow compressed data with algorithm 0.

* g10/mainproc.c (proc_compressed): Remove superfluous check for
an algorithm number of 0.
--

(backport from commit 88633bf3d417aeb5ea0f75508aba8e32adc8acef)

GnuPG-bug-id: 1326, 1684
Fix strict-alias warnings for rijndael.c

* cipher/rijndael.c (do_setkey, prepare_decryption): Use u32_a_t cast.
--

This extends commit 0ad1458f827c7602ef7f1a4652af05641fd02b62
mpi: Suppress set-but-unused-variables warnings.

* include/types.h (GNUPG_GCC_ATTR_UNUSED): Define for gcc >= 3.5.
* mpi/mpih-div.c (mpihelp_divmod_1, mpihelp_mod_1): Mark dummy as
 unused.
* mpi/mpi-internal.h (UDIV_QRNND_PREINV): Mark _ql as unused.
--

Due to the use of macros and longlong.h, we use variables which are
only used by some architectures.  At least gcc 4.7.2 prints new
warnings about set but not used variables.  This patch silences them.
mpi: Improve mpi_invm to detect bad input.

* mpi/mpi-inv.c (mpi_invm): Return 0 for bad input.
--

Without this patch the function may enter an endless loop.  This is a
backport from libgcrypt.

GnuPG-bug-id: 1713
Allow use of --debug-level=LEVEL without '='.

* g10/gpg.c (opts): Fix "debug-level".
doc: Final update from master (gnupg 2.1)

* doc/Makefile.am (sources_from_trunk): Remove.
(update-source): Make it a dummy.
* doc/gpg.texi: Update.
* doc/yat2m.c: Update.
--

Maintaining 3 versions in of the gpg manual in one file is getting
more complicated with 2.1.  Thus we stop this now and keep the manual
for 1.4 separate.
doc: Cleanup gpg.texi.

--

We don't need the gpgone and gpgtwoone macros anymore.