moved auth under foe ns as well
took User record out of foe. Now it doesn't assume anything about the structure of a user. Pass anything you want to authenticate, and your own implementation of IUserStorage will need to know how to handle it.