Canonicalise filter PR comments

* Fix the new_url error where / would be prepended
* Make much of CanonicalFilter private
* Reveal intent when canonicalizing a plain substring
* Sundry readability improvements to cases