Validate an idp fingerprint using a configurable method

## What?

If the option `idp_cert_fingerprint_validate_method` is present, it's a method that validates if the idp fingerprint coming from the request is valid. The method is called and, if the response is successful, the fingerprint is valid and is used thereafter.

## Why?

In some situations there's the need to support **multiple** fingerprints in a dynamic way. Fingerprints might be available on a database or elsewhere and the best way to abstract their validation is to provide a method that will verify if a given fingerprint exists.

This feature will, in fact, support multiple dynamic fingerprint usage without prior configuration.

## Notes

This feature shouldn't break any existing functionality. It will only be used and activated if the `idp_cert_fingerprint_validate_method` is present.