Added Duo requirement based on user attributes

Added a validator interface for checking attribute maps and a default
implementation