better handling of evaluation dates which are not business dates
Give names to intermediate results.

Bytes on the stack are cheap these days, so it's not necessary
to reuse data members at the expense of clarity.
Merge pull request 124.