WIP: refactored validations and added tests for merchant has_secure_password

Please note that adding the validations for password and password_confirmation have has caused the controller tests to fail.