Pdf417 merge

The main changes are handling of ambiguous values, a few bug fixes, code cleanup, adding a Macro PDF417 test case and a few bits and pieces of documentation.

Regarding the new test case for Macro PDF417 decoding: It's a quick hack and in order to keep the changes in the common classes to a minimum, it copies a lot of code from other classes and methods. To avoid this, I'd have to make quite a few methods protected and non final and add a few hooks in AbstractBlackBoxTestCase . For the same reason I copied TestResult.java into the package. How do you feel about allowing subclasses more access to AbstractBlackBoxTestCase and TestResult?

Best regards,

  Guenther

P.S.: A short list of what changed:

BarcodeMatrix:
replaced by two dimensional array of BarcodeValue

BarcodeValue:
Added comments, handling ambiguous values

BoundingBox:
Improve calculation and handling

Codeword:
toString method

DetectionResult:
Improved row numbering
applying std code format
toString method

DetectionResultColumn:
improved method names
toString method

DetectionResultRowIndicatorColumn:
Improved row numbering
Improved support for partial RI columns and missing/and or damaged start- and stop pattern

PDF417ScanningDecoder:
Improved bounding box handling
Improved support for partial RI columns and missing/and or damaged start- and stop pattern
Improved handling ambiguous values

Detector:
No instance needed anymore
applying std code format
fix off by one error on bottom coordinate detection

PDF417Common:
More common constants
added util method

PDF417Reader
Use static Detector method instead of creating instance

pdf417-2/24.bin
correct expected result

pdf417-4/*
test images and results for Macro PDF417 decoding

PDF41BlackBox4TestCase:
test case for Macro PDF417 decoding

TestResult
Copy of common test result

PDF417BlackBoxTestCase
updated expected results