Use Nokogiri and xmlsec for build/sign/encrypt.

  * Implements <EncryptedAssertion>
  * Replaces all uses of Builder::XmlMarkup with Nokogiri
  * Replaces custom xml signing logic with nokogiri-xmlsec.
    nokogiri-xmlsec is based on the xmlsec1 library. Less
    custom crypto makes the world safer (not that XMLEncryption
    1.0 is actually at all safe).
  * Deleted a bunch of mixins which were obsoleted by xmlsec.
  * Removed incorrect <Issuer> node in samlp:Response.
  * Change config to expect straight cert PEM rather than Base64 encoded
    PEM.
  * Narrowed interfaces in builder classes.
  * De-inlined XML blobs into fixtures.
  * Removed attr_accessors and let statements where the abstraction
    complexity was higher than the readability gained.
  * Restructured builders to return XML Documents instead of strings.
  * Added XML Schema validation tests based on official SAML 2.0
    schemas.
  * Began migrating away from golden file tests. Now using
    XML structure based equivalence or xpath inspection where
    appropriate.