An interface for all objects that implement HTTP authentication.
See the HTTP spec for details on how this works in general.
A single class or object can implement an arbitrary number of
authentication schemes.
This class encapsulates all JAAS and JGSS API calls in a seperate class
outside NegotiateAuthentication.java so that J2SE build can go smoothly
without the presence of it.