html-dir: In html-dir output, split large diffs across several child pages
Also add some flags so html-dir behaviour is easier to reason about. 1. Previously, max-report-size would apply to both parent and child pages, which didn't work well if you disabled this limit. Instead, we now add an extra --max-report-child-size that remains in effect even with --no-default-limits. 2. Previously, separate-file-diff-size would affect the parent page in an unsmooth way: if a diff block had N lines, the parent page would contain N lines, but if the diff block had N+1 lines, then 0 would be shown on the parent page. This gives a visually counterintuitive result where a larger diff would have less presence on the parent overview page. Instead, we now change this to --max-diff-block-lines-parent which has a smoother behaviour. If the diff block has N+1 lines, then N would be shown on the parent page and 1 would be shown on the child page. This could be smoothed out further, but we'll leave this complexity for the future.
Showing with 259 additions and 86 deletions