* don't use raw input to recreate subcategories for filter urls and
external links
* if a page does not expect categories it will now error out if it is
called with parameters
* fixed infite redirect loop that could occur if the pageName was an
invalid string
* added lost filter string for external page call to NPCs Page
* convert search into separate endpoints
* move shared functionalty to components
* NOTE: acceptance of opensearch has waned over the last decade and
the script should be updated