Refactor chunk reader to use XMLStreamWriter and Transformer
Copy cache list update bug in chunk processing
Refactor chunk filename and ID generator into utility class
Add support for counter based chunk ID generation
Prevent PDF table rows from inheriting @rowsep from previous row #1486

In a CALS table, a rowsep signifies that a rule should be drawn *below* the
current row or entry. The XSLT code checks whether the preceding row or entry in
the table has a rowsep so that if there's a page break that immediately precedes
the current row, a border is drawn at the top of the page (that is, above the
current row/entry) to ensure that the rowsep value of the preceding row or entry
is respected. This seems to be relevant mostly with tables without <thead>.

Before this fix, the code looked for @rowsep values in *all* preceding rows.
Thus, if the row that immediately preceded the current row had a @rowsep value
of 1 and the row before that had a @rowsep value of 0, the code picked up both
of those values. Therefore, the value "10" was fed to the number() function, and
since 10 is a truthy value in XSLT, $needTopBorderOnBreak was set to 'true' and
as a result, every row below a row with @rowsep of 1 was drawn with a top
border.