fix: Replace passlib with direct bcrypt implementation
- Remove passlib dependency and use bcrypt directly for password operations
- Update verify_password() to use bcrypt.checkpw() directly
- Update get_password_hash() to use bcrypt.hashpw() and bcrypt.gensalt()
- Pin BCrypt version to 4.0.1 for reproducible builds
Full Changelog: v0.7.3...0.7.5