fixed access to rule properties.

when the RuleSetFactory parses rule properties empty values (or missing) are now
mapped to null. null is now allowed as a property value and the check
for existing properties was changed to use array_key_exists instead of
isset.