Support the mailto protocol in contact addresses

The email field in ContactPerson nodes should start with the
'mailto:' protocol, since it is an absolute URIs.

This change adds support to validate emails with and without
'mailto:', it validates emails without it because there are
federations using emails without the prefix, even if it is wrong.

This change also adds the prefix to an address if needed when
added through the graphical interface.
Don't require an AssertionConsumerService in IDPs

If the entity is an IDP, then it doesn't require an
AssertionConsumerService. This change avoid validating the presence
of this field in the IDP entities.
Add support for MDUI attributes in any endpoint, IdP or SP

MDUI attributes were being used only on SP endpoints, but they can
happen in IdPs too.
Add the GeoHint node to the proper place in the metadata

Add it under a DiscoHint node in the Extension node, instead of
adding it to the UI node.
Added missing attributes, index and ResponseLocation, to XML creation of DiscoveryResponse.
Extension SP End Points was erroneously  added/duplicated directly under SPSSODescriptor element.
Merge pull request #26 from Yaco-Sistemas/email-validation

Support the mailto protocol in contact addresses
Merge pull request #27 from Yaco-Sistemas/assertion-consumer

Don't require an AssertionConsumerService in IDPs
Merge pull request #28 from Yaco-Sistemas/mdui

Add support for MDUI attributes in any endpoint, IdP or SP
Merge pull request #29 from Yaco-Sistemas/geohint

Add the GeoHint node to the proper place in the metadata
Merge pull request #30 from johanlundberg/missing_index

Added missing attributes, index and ResponseLocation, to XML creation of DiscoveryResponse.
Merge pull request #31 from johanlundberg/sp_endpoint_extensions

Extension SP End Points was erroneously added/duplicated directly under SPSSODescriptor element.