[PD-682] [PD-756] Implemented Password Requirements

This implements password requirements and ensures that when passwords are randomly generated, they follow those requirements as well. 
I just ran the method a million times (literally) and got an average of 2 calls, with the max being 24 (twice out of that million). I think we're fine.