Allow multiple rules of the same name per RuleSet

This allows for constructs like these

	* {
		color: red;
		color: rgba(255, 0, 0, 0.9);
		width: 250%;
		width: -moz-device-width; //I don’t think there is a vendor-property like this but you get the point.
		height: 3px !important;
		height: 9px;
	}

Closes #30 (for its most relevant change).

The API had to be changed to accommodate this feature. RuleSet’s `getRules` method now returns indexed arrays. To get the old behaviour, use `getRulesAssoc`.
`removeRule` changed as well but only for the case of passing a Rule instance directly. To get the old behaviour back in case you wanted it, use `removeRule($oRuleInstance->getRule())`.