fix memory leak.
PR/398: Correctly truncate pascal strings (fixes out of bounds read of 1, 2,
or 4 bytes).
today's fixes.
PR/396: Add sereal magic
Decode the type of the pgp packet.
Simplify freeing of the map and remove bogus frees in the user buffer case.
New change
- limit the number of program and section header number of sections to be
  processed to avoid excessive processing time.
- if a bad note is found, return 0 to stop processing immediately.
Stop reporting bad capabilities after the first few.
- reduce recursion level from 20 to 10 and make a symbolic constant for it.
- pull out the guts of saving and restoring the output buffer into functions
  and take care not to overwrite the error message if an error happened.
Mention all the performance fixes from yesterday and today.
fix typos.
Complain if alignments are < 4 and repair.
adjust limits better (from NetBSD)
bump recursion to 15, and allow it to be set from the command line.
Document changes
Kill -R and replace with -P param=value. Allow setting of 4 parameters:
    indir, name, shnum, phnum.
add a limit to the number of times a name/use entries can be used.
Remove name recursion limit, it is always lower than the count... Rename
things for consistency.
PR/402: Christian Hesse: Add more ssh key types