Implement a more scalable method for storing / querying rulesets
The only thing that we definitely need in RAM all the time a mapping from target hosts to rulesets (currently this.targets). The ruleset XML objects themselves could be lazily constructed at use time.
What to do about rulesetsByName and rulesetsByID also requires some thought.