Retabbed Builder.pm
Cleaned up and expanded documentation
More documentation improvements
Parameter is origin_dfi_id, not originating_dfi
Use setters in constructor; make docs match actual names
Replaced fixedlength and format_rules with sprintf formats
Validate lengths and standardize names of parameters

Internal variable names did not always match the advertised setter name.
This came up when I added validation to the setter methods, which now warn
if a value will be truncated in the output.
Fixed bug in calculating entry hashes

According to a couple of unofficial sources and CPAN bug #40865, the hashes
should be added up using only the first 8 digits of the routing number
(excluding the 9th digit, which is a checksum digit). The hash should be
truncated from the left to 10 digits.
Improvements to parameter validation, formatting, and docs
Inlined and improved documentation

Previously, each sub came with comment that was not particularly useful,
and the actual documentation was so far away from the method that it was
not staying in sync. There are still some awkward areas, like the
redundancy between the configuration section and setter descriptions.
Arranged functions in a more meaningful order

The functions were somewhat awkwardly organized. Now they are more or less
in the order in which they're used, except for the setters, which are
relatively uninteresting and grouped at the end.
Compute block count instead of leaving it at zero
Changed the bank_15 field to entry_trace

The couple of examples I've been able to find all treat the 15-character
field at the end of the entry line as a sequentially incrementing trace
number. Possibly make_batch should be responsible for filling this out, but
for now it's up to the caller.
Improvements to setters and defaults in constructor

* Added missing setters for company_name and effective_date
* Update __ORIGINATING_DFI__ when changing immediate_origin
* Put calls in new() in a more meaningful order
__ORIGINATING_DFI__ is based on destination, not origin!
Fixed flaw in block count calculation

Descriptions online are confusingly worded, but it's apparently based on
the the total number of records of any type.
Miscellaneous tidying; adding self to contributors

* Synopsis code now works out of the box
* Do not specify a default transaction_code; wasn't working anyway
* Cleaned up sample records
* Croak--don't return--if record batch is invalid
* Renamed transaction_type to discretionary_data and removed "S" default
* Removed unused "bank_2" (may have formerly been transaction_type)
Merge pull request #1 from horsepunchkid/master

Various bugfixes and improvements