Ckozak/stack everything

This should reduce the complexity of rules.js, and make the compliance calculation of non-stackable and stackable entitlements more uniform.

I think that a single stackable entitlement on a system should always be treated exactly the same as a single non-stackable entitlement.  If they need to be treated differently, we can add new attributes for that behavior.

I don't think that sourceData is useful any longer, and any benefits we could achieve with it should be cleaner by using abstraction inside of the stackTracker object.

Instance multipliers being applied per-pool makes more sense to me because it requires less patching after the fact.