* Fix ignoring of filters when they are plain objects
* Fix default filter merging behavior to account for "new" filter structure (named criteria)
* Add tests for building/merging filters
Same issues as a949a4ed10 -- memory provider stores objects in memory (no serialization) so need to check for object instance before trying to reconstruct
* Extract cache related functions into own class and encapsulate pruning/key search there as well
* Refactor SubredditStates to be "re-init"-able if state frequency changes
* Simplify and SubredditSource init and configuration functionality so that class is only created once and then reconfigured if major settings change
* Only reinstantiates stats or cache class based on setting changes
* Remove obsolete maxActionedEvents from operator/subreddit config (from pre-db code)
Same as modActions...
* Add `referencesCurrentActivity` boolean to filter by notes associated with current activity
* Add `note` string property to filter by note content (string or regular expression)
* Replace `allowDuplicates` with `existingNoteCheck` on UserNoteAction to allow for more granular note control on action
* Use keep-alive http agent to reuse open connections
* Decrease max batch size and flush interval to payload sent is smaller
* Add debug logging for fail/success/retry events on flush
* Use "modActions" authorIs filtering to check note prior to adding note using "existingNoteCheck" property
* Refactors concept of "allowDuplicates" to allow any arbitrary modActions test to be used
* Provide convenience ModLogCriteria generation for "existingNoteCheck" based on boolean (emulates allowDuplicates functionality)
* Implement filtering activityType by "false" in order to return actions/notes not added to a specific activity
* Implement "referencesCurrentActivity" property to allow filtering by actions/notes that are associated with the activity being processed
* Implement using "count" for "current" search to enable criteria condition based on presence or non-presence of current action/note passing
* Tie loading indicator to live stream status and display error if one occurs
* Add manual restart action to end of error
* Restart stream automatically if reader ends, up to 3 retries
* Implement a DTO class for activity source to make parts usage (type, identifier) and matching easier
* Implement regex to parse type and identifier from activity source string
* Refactor activity source interface/types to better distinguish as string, data, and class
* Add mhs rule type and MHS credentials interface
* Implement MHS rule with similar criteria options to sentiment
* Allow testing against author history content