Ported r2595 from ZXing

Original commit message: "Add hint for GS1"
Ported r2596 from ZXing

Original commit message: "Patch some possible runtime exceptions in new
PDF417 code and remove some no-longer-unsupported test images"
Ported r2600 from ZXing

Original commit message: "Issue 1653 consistent interpretation of mask
penalty i: applied when 5+i=5 (i=0) consecutive modules are the same"
Ported r2618 from ZXing

Original commit message: "Escape double-angle arrow characters"
Fix test failure
Ported r2619 from ZXing

Original commit message: "Issue 1659 carry through metadata on multiple
barcodes"
Ported r2628 from ZXing

Original commit message: "const-ness and iphone/objc fixes"
Ported r2639 from ZXing

Original commit message: "More PDF417 test images from Guenther"
Ported r2640 from ZXing

Original commit message: "Extra test image from Christoph"
Ported r2642 from ZXing

Original commit message: "Move PDF417 image to supported"
Ported r2644 from ZXing

Original commit message: "Move PDF417, Aztec Writers up a level for
consistency"
Ported r2653 from ZXing

Original commit message: "gif to png in blackbox test data"
Ported r2660 from ZXing

Original commit message: "A few inspection cleanups"
Ported r2679 from ZXing

Original commit message: "Issue 1138 reject image with nonsensical
right-bottom black pixel in pure barcode mode"
Ported r2680 from ZXing

Original commit message: "Restore 48 digit ITF"
Ported r2690 from ZXing

Original commit message: "Issue 1673 assert about division algorithm
state to avoid strange infinite loop situation"