Refactor suggested quantity calculation

Instead of reinventing the wheel for suggested quantity, use
the CoverageCalculator to run full compliance, and check that
reasons for incompliance do not include stackable attributes
the given pool provides.

This may be slightly less efficient, however it does not
require us to know anything about the compliance calculation
aside from quantity increment on instance based subscriptions
and should require less modification for future changes
Use multiples of instance multiplier for sockets quantity

Sockets are calculated only in increments of the instance
multiplier.  This should keep us from going fractional in cases
where a consumer changes machine facts from virtual to physical.
Merge pull request #482 from candlepin/ckozak/suggested_quantity_refactor

Ckozak/suggested quantity refactor