Option to allow batches to be unbalanced

allow_unbalanced_batch has been added for the purpose of suppressing the recently-introduced croak if credits and debits in a batch don't net to $0. The croak makes sense if you're debiting some accounts and crediting those debits to other accounts, but it incorrectly dies when your batch is purely credits (e.g. issuing refunds), purely debits (e.g. billing people for a service) or an unbalanced mix of the two. Thus, having an option to suppress the croak is necessary. To not break any code using this module, the default behavior hasn't changed; one must explicitly allow for unbalanced batches.
Add configuration options

* Added creation_date and creation_time as configuration options. These are necessary if you're trying to re-create a file exactly as it was originally generated. Defaults are current date/time.
* Added originating_dfi as a configuration option. While this is typically the first 8 positions of the immediate origin, many banks will have it be a specific value that sometimes has internal meaning to them. Users of this module need to be able to specify this value, but the default remains the first 8 positions of immediate origin.
* Setting the batch header record "Company Descriptive Date" field to EFFECTIVE_DATE is correct. NACHA recommends, but does not require, that RDFIs print this value on the receiver's statement. The effective date, not the current date, would be the correct value to show on a bank statement.
Increment version from 0.20 to 0.21
Relabel allow_unbalanced_batch to allow_unbalanced_file

The croak is technically at the file level so the configuration option should be "allow_unbalanced_file".
Merge pull request #1 from nf-contribute/master

Adding configuration options