Blacklist Updates & More

* Broke down some more functions into smaller pieces.
* Changed how some of the global variable options were set in order to reduce unneeded lines.
* Replaced the constructor functions with factory functions since they were overkill.
* Reworked the XML status message so that it can display more than one message and be more informative about progress by providing counts.
* Made the help tooltips stay upon hovering so that links could be placed in them.
* Made the XML requests automatically retry up to two times on an error and added a link for manually retrying to the error message.
* Started caching the complete id list for pools in session storage with 15 minute expiration times to reduce API use and improve speed.
* Stopped using Danbooru's notice for messages and made a notice function for the script's sole use.
* Moved the notice and sidebar options focused on changing how certain elements of Danbooru displayed to a new layout tab.
* Moved the blacklist to a blacklist tab with several new customization options and changed it to a textarea.
* Added the option of only scrolling past the header to the auto-scroll option and made it not scroll on return visits to pages that are already scrolled.
* Added a fixed sidebar option for searches and favorites.
* Added a tag scrollbar option for searches.
* Added support for the favorites listing.
* Added a "image swap mode" option for setting how images are swapped (load then view (default) or view while loading).
* Fixed some timer issues.
* Fixed an issue with wildcards and metatags by separating them from regular tags when creating a search.
* Fixed the detection of the notes search as a notes listing by making the match test more specific.
* Fixed post resizing for blacklisted posts that are hidden.