Make rate limiting per-device.
Add javadoc to setPasswordProvider.