Refactor: libpe_rules,libcrmcommon: parse value type into enum
This will make planned changes easier, allows for unit testing, and is more
efficient.
Also, log invalid types. compare_attr_expr_vals() returns 0 in this situation
if both values are NULL or both are non-NULL; this behavior is preserved for
now.
The new implementation no longers uses pcmk__char_in_any_str(), which has no
other callers, so that is removed.