Add helpers for comparing string datatypes and languages

(rasqal_literal_string_datatypes_compare, rasqal_literal_string_languages_compare):
Added, pulled out of rasqal_literal_string_compare().

(rasqal_literal_string_compare): Updated to use them. Now does case
independent language compare.

(rasqal_literal_string_equals_flags): Use rasqal_literal_string_languages_compare().
(rasqal_literal_is_string): Added helper
Make strbefore and strafter preserve, check languages and operate on strings

(rasqal_expression_evaluate_strbefore,
rasqal_expression_evaluate_strafter): Check
rasqal_literal_is_string() on both needle and haystack.  If haystack
has a language, make sure it matches needle with
rasqal_literal_string_languages_compare().  Copy needle language to result.