refactored how authentication is handled.  Introduced Features and feature detection so that authentication is a feature.