Fix the billion laughs DoS attack, for Entity expansion.

This was already fixed in the REXML library of Ruby, but not in the native libxml library that is used by Nokogiri. Therefore parse the message first with the REXML in the Ruby library, by using Hash.from_xml. This will raise an “entity expansion has grown too large” RuntimeError.
Fixes the billion laughs XML vulnerability.

Instead of using the Hash.from_xml(xml) method of ActiveSupport, use the ActiveSupport::XmlMini_REXML.parse(xml) method. This ensures that invalid XML messages with the billion laughs vulnerability still raise an RuntimeError.

Move the ‘fix’ from the Saml.parse_message method to the Saml::Base::HappyMapperClassMethods.parse method.

Use a valid XML message for testing the vulnerability.
minor fixed