[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.