Compliance status reasons

This pull request provide the following features:

- reasons are added to ComplianceStatus.java
- reasons are provided by rules.js during the getStatus call.
- partially compliant subscriptions providing no products should mark system as yellow (stacked/non-stacked).
- rules version was incremented to 3.0 (older candlepins should not update to this version of the rules as they are not compatible).