candlepin/candlepin — pull request #230 by mstead (2013-04-17 17:45:14+00:00)
Title: Cores / RAM Stacking / Multi-Attribute Stacking

This branch contains:
- Add ability to limit on cores (including stacking).
- Add ability to stack on RAM.
- For non-stacked entitlements, do not consider product attributes that are not set when determining coverage.
- For stacked entitlements, do not consider non set attribute quantity as Infinate when calculating stack totals to determine coverage.
- Rules refactor to make coverage checks more attribute driven.
* FactValueCalculator - calculate consumer fact values for coverage check in one place
* CoverageCalculator - Single place to determine whether stack or entitlement covers consumer.
* Use a StackTracker JS object to track totals on a stack as entitlements/pools are added.
* Autobind/healing uses the percentage of attributes covered in order to determine coverage.