Issue#83

This pull request should address the refactoring for allowing the implementation to rank and select the mfa method to branch to by comparing the current requested ranked one (the current mfa transaction) with any previously fulfilled mfa authentications for the current CAS SSO session.

The only user-facing configuration change is the wiring of the existing mfa ranking configuration Map into the `OrderedMfaMethodRankingStrategy` bean like so:

```xml
<bean id="authenticationMethodRankingStrategy" class="net.unicon.cas.mfa.authentication.OrderedMfaMethodRankingStrategy"
          c:mfaRankingConfig-ref="supportedAuthenticationMethodsConfig"/>
```
OK, thanks for the description. This all makes sense and I’d be fine with 
leaving the check in place, but if you do, please make sure your explanation 
to me ends up somewhere in the javadocs. That way if we come back to this 2 
months from now, we’d have an idea as for why the checks are more like 
safety checks than anything.