add pool_type calculated attribute

Add pool type rules to rules.js, used to match pool
attributes to a subscription type so that a consumer
will understand how it interacts with other subscriptions

These types are translated in java similarly to compliance
reasons.  Unrecognized strings are passed as-is, so they
should be human readable, at least in english

Add calculated attributes (currently only pool_type) to
consumer entitlements in order to display the subscription
type.
modify rules calculation, add testing
Refactor class names, change attribute to compliance_type
Added new capability "pool_compliance_type"

This way we can avoid getting entitlement pool
attributes on servers that do not support readable
pool compliance types.