Remove log statement from xml4_template
Remove unused variable `key`

The variable `key` is not used in scope and causes errors because keys
is null when rereduce is true.
Fix initialization of `interesting_keys`

The variable `keys` is being overridden instead of `interesting_keys`
being set.
Ignore empty values during rereduce
Simply reduce when there is exactly one value
Eliminate reduce in processed_memberships

The reduction step takes a very long time and does not add value. Use
key ranges, instead.

Update xml4_enrollment template to match.
Correct bindings for xml4_template description

Modify the bindings on xml4_template’s description to better match past
output.
Fix d2l_identifiers.template to just base number

For courses that have a .## part to their course number, drop the .##
part for the template id. For example, ACCT 799.01’s template id is
just ACCT_799, not ACCT_799.01.
Change description.long to match description.short

value.code_info.subject_and_number includes the .## portion of a course
number. value.d2l_identifiers.template is closer to what the old code
generated, except for the presence of an underscore.
Combine section type and number for long desc

In both the offerings and sections list functions, create a variable in
the row that combines the section type and number. It is not possible
to pick out these values from code_info.components in Dust, since there
appears to be no way to access specific members of an array.
Fix long description for offerings and sections

Adjust the long descriptions for offerings and sections to match
previous code.

Offerings: SUBJ 101 L01 - (Semester Year) - Course Name
Sections: SUBJ 101 L01
Fix for loop condition in processed_people reduce

The shortcut path for-loop on src_keys is checking i instead of j. The
variable initialized and incremented is j.
Fix value in shortcut processed_people reduce

When taking the shortcut in the processed_people reduction, value is
the 0th element in values, not the i-th.