add new forgotten password model

@buildmaster is this the right idea?
Can you make this a HoistForgottenPasswordSchema as we'll have the concept of an AppForgottenPasswordSchema too