Merge new domain factoring and the avherald domain into main

This is the new domain code factoring as discussed in issue #90 and sub-issues. It also merges the avherald domain (originally in the avherald branch) as discussed in #82 and other issues.

This should resolve all the refactoring for #89 and sub-issues and complete the merge for #85.

This includes the recent HTML refactoring for #93 and #98, and has the minor defaults change for #97.