Applied Christian Folini's SAML attribute authorization patch
<https://issues.jasig.org/browse/MAS-60>
Fix NULL dereference on "Require cas-attribute ..." when no attributes are present
Improvements to Christian Folini's attribute authorization patch
<https://issues.jasig.org/browse/MAS-60>:

* Use ap_getword_conf to tokenize the Require directive. This means
  that attribute specifications can use any character (including
  whitespace). For example:

    Require cas-attribute "last-name:de Soto"

* Pass a reference to the struct of attributes that's parsed out of
  the SAML response in order to do authorization rather than using
  attributes serialized into a notes field. This eliminates ambiguity
  due to serialization, as well as being more efficient.

* Factor out the routine that evaluates an attribute specification
  against the set of attributes. This improves readability as well as
  testability. Also, be explicit about exactly what will match an
  attribute specification, and the behavior in the face of ambiguity.
Formatting and adding const where applicable
Encapsulate the attribute storage into an API
Fix the argument passed to ap_get/set_module_config in cas_get/set_attributes

The parameter was incorrectly set to the request_rec pointer itself
rather than the request_config field of the request. Depending on
Apache's configuration, this resulted in different parts of the
request structure being overwritten with the attribute pointer. In
many cases, it worked correctly by accident. This change correctly
uses the request_config conf_vector for ap_get/set_module_config.

In addition to that change, cas_get_attributes also works better in a
subrequest: if no attributes are found in the subrequest, it will look
in the parent request for attributes.
Applied Christian Folini's SAML attribute authorization patch
<https://issues.jasig.org/browse/MAS-60>
Fix NULL dereference on "Require cas-attribute ..." when no attributes are present
Improvements to Christian Folini's attribute authorization patch
<https://issues.jasig.org/browse/MAS-60>:

* Use ap_getword_conf to tokenize the Require directive. This means
  that attribute specifications can use any character (including
  whitespace). For example:

    Require cas-attribute "last-name:de Soto"

* Pass a reference to the struct of attributes that's parsed out of
  the SAML response in order to do authorization rather than using
  attributes serialized into a notes field. This eliminates ambiguity
  due to serialization, as well as being more efficient.

* Factor out the routine that evaluates an attribute specification
  against the set of attributes. This improves readability as well as
  testability. Also, be explicit about exactly what will match an
  attribute specification, and the behavior in the face of ambiguity.
Formatting and adding const where applicable
Encapsulate the attribute storage into an API
Fix the argument passed to ap_get/set_module_config in cas_get/set_attributes

The parameter was incorrectly set to the request_rec pointer itself
rather than the request_config field of the request. Depending on
Apache's configuration, this resulted in different parts of the
request structure being overwritten with the attribute pointer. In
many cases, it worked correctly by accident. This change correctly
uses the request_config conf_vector for ap_get/set_module_config.

In addition to that change, cas_get_attributes also works better in a
subrequest: if no attributes are found in the subrequest, it will look
in the parent request for attributes.
more explicit about what the cas-attribute directive does
mod_auth_cas now logs a warning if Require cas-attribute is present in the
config file, but no actual attributes are specified.

had to add <openssl/crypto.h> in includes to get module to compile on 64-bit
system (regression testing needed - did I break 32-bit?)

started adding hooks for unit testing cas-attribute parsing and enforcement
Merge branch 'folini-authz' of https://github.com/jtdaugherty/mod_auth_cas into folini-authz

Conflicts:
	README
	src/mod_auth_cas.c
	src/mod_auth_cas.h
Unit test for cas_authorize. Cleanup of cas_saml_attr_test for warning-free GCC compiles.
Had to pull in some attribute parsing code from apache to get authz unit tests to go through.
removing warnings...
fixing warnings.
tweak to remove another warning
removing one last debugging printf