Standard implementation option
Added an option to use the implementation in the spec also added an option to omit username when calculating X
It's a draft implementation to start conversation on it. Please let me know what you think about it.
closes #152
OK, I decided to change my implementation completely.
Sorry, but your comments are outdated now.
Instead of choosing the implementation in the instantiation phase, I decided to go with having two different process_reply and process_reply_rfc5054 method.
The thing is that RFC5054 calculates M1 (and accordingly M2) using session_key (hash of premaster secret) instead of the premaster secret, so I had to define SrpClientVerifierRfc5054 and SrpServerVerifierRfc5054 beside SrpClientVerifier and SrpServerVerifier that also returns the session_key.
We can have this extra field in those structs, but I believe it would be a breaking change.
I leave it to you to decide.
Please review this new code and let me know you like this approach better or not.
Thanks