Initial implementation of base class of new authentication framework
The goal of this new framework is to clean-up the way authentication
is done in EWS in order to allow seamless coexistence of traditional
password-base authentication, OAuth2 and any future one.
This framework brings the concept of authentication providers, which
provide authetication information to each EWS request and contain
methods used to interact with the rest of the EWS resource in order to
inform about authentication problems and offer ways to reauthenticate
if possible.