Issue#60

The main components of this implementation are:

`MultiFactorAuthenticationRequestContext`, `MultiFactorAuthenticationRequestResolver -> PrincipalAttributeMultiFactorAuthenticationRequestResolver (impl)`, `ExistingMfaRequestMultiFactorAuthenticationArgumentExtractor`

## Main configuration points

```xml
<bean id="principalAttributeMfaRequestResolver"
 class="net.unicon.cas.mfa.authentication.principal.PrincipalAttributeMultiFactorAuthenticationRequestResolver" 
c:mfaMethodAttributeName="${mfa.method.userAttribute:authn_method}"/>
```

```xml
<bean id="initiatingAuthenticationViaFormAction"
        class="net.unicon.cas.mfa.web.flow.InitiatingMultiFactorAuthenticationViaFormAction"
        c:authenticationViaFormAction-ref="authenticationViaFormAction"
        c:multiFactorAuthenticationRequestResolver-ref="principalAttributeMfaRequestResolver"
        c:authenticationSupport-ref="authenticationSupport"
        p:centralAuthenticationService-ref="centralAuthenticationService"
        p:warnCookieGenerator-ref="warnCookieGenerator"
        p:multiFactorAuthenticationManager-ref="mfaAuthenticationManager"/>
```

```xml
<bean id="existingMfaRequestArgumentExtractor"
    class="net.unicon.cas.mfa.web.support.ExistingMfaRequestMultiFactorAuthenticationArgumentExtractor"
          parent="baseArgumentExtractor"
          c:authnMethods-ref="listOfAuthenticationMethods"
          c:supportedProtocols-ref="supportedProtocolsForMultifactorAuthentication"/>

<util:list id="argumentExtractors">
        <ref bean="existingMfaRequestArgumentExtractor"/>
        <ref bean="registeredServiceAttributeMfaArgumentExtractor" />
        <ref bean="requestParamMfaArgumentExtractor"/>
	<ref bean="casArgumentExtractor" />
 	<ref bean="samlArgumentExtractor" />
 </util:list>
```

### Example principal attribute

```json
"casuser":{
		"firstName":["Tom"],
		"lastName":["Bombadil"],
		"cn": ["Bombadil, Tom"],
		"additionalAttribute":["Goldberry", "Withywindle"],
		"eduPersonAffiliation":["alumni", "socialist"],
                "authn_method":["strong_two_factor"]
}
```