Enable populating user name and email with SAML 1.1 attributes

It's possible to pass arbitrary attributes with the SAML 1.1 ticket.
Attributes are often used to pass the name and e-mail address of the
user to the application. This patch enables to configure which
attributes match the name and e-mail data and populates the user details
with the values found in the corresponding SAML attributes.
Provide user login to user authentication

The previous behaviour accidentally worked because the CAS plugin
provided user login as real name in the user details and Sonar
authentication code sets the login name to match the real name if
login name is missing but details are provided. The proper way
is to provide the login name properly in the first place. This
patch does exactly that.
Oops, fixed the logic in check for a valid assertion
Compatibility with Sonar 3.7.3
Merge remote-tracking branch 'tjormola/populate-user-details-from-saml11-attributes'
Merge remote-tracking branch 'tjormola/provide-user-login-name-when-authenticating'
Merge remote-tracking branch 'jerzykrlk/master'
Refactored constants (e.g. property names) to dedicated interface.
Update Sonar version and add plugin description.
Simplify POM and add xmlsec for proper SAML 1.1 support.
Fix RoR CAS controller
Redirect back to SonarQube after CAS logout.
Configured with sonar.cas.logoutRedirect, enabled by default.
Support SAML tickets with Single Sign-Out.
Set useSession to false in CAS 1 and SAML 1.1 validation filters (as in
CAS 2).
Restrict CasLogoutRequestFilter to /cas/validate to avoid interfering
with non-CAS POST requests.
Skip check_authentication in CasController to avoid infinite loop with
forceAuthentication=true.
Extended support for CAS 3.0 / SAML 1.1 attributes.
- Support multi-valued attributes for name/email (use first).
- Support multiple attributes for group membership.
Update README with new properties.
Reformat source according to Sonar code style rules.
Update developers and contributors info in POM.