Ported r2800 from ZXing

Original commit message: "Tighten up some non-private fields in DM
encoder"
Ported r2801 from ZXing

Original commit message: "Avoid possible NPE when there is no bounding
box?"
Ported r2803 from ZXing

Original commit message: "Detect invalid input to Code 39 encoder and
reject it more explicitly"
Ported r2807 from ZXing

Original commit message: "Issue 1688 reject unexpected macro block code
instead of getting into a loop"
Ported r2808 from ZXing

Original commit message: "Issue 1676 retune ITF slightly to avoid a
misread"
Ported r2809 from ZXing

Original commit message: "Avoid AIOOBE, again, with over large
correction for nudge in corner cases"
Updated AUTHORS