More consistency for ReturnArrayConfigHandler:
 * Literalizing behavior now configurable via parameter 'literalize', default true, and also applied to values, not just attribute values, closes #388
 * ID attribute name (the one that you can use to make associative array keys, default 'name') now configurable via 'id_attribute', may be false, too
 * Attribute key names can be prefixed using 'attribute_prefix', default ""
 * Key used for the node value can be configured using 'value_key'
 * Multiple nodes of same name without the respective plural parent tag are now combined into an array, as if the plural parent existed
 * Also, even a single node is treated the same way if it has an ID attribute ("name") but no plural parent node
 * If a node with text has any attribute (ID attribute does not count), then the result of that node is an assoc array with attributes and value.
 * For consistency in your code, you can set 'force_array_values' to always get an array back for node values, even with no attributes in the node.
 * All this should not break existing code since it only changes situations that were previously broken and thus likely never used