- Add new optional parameter `random_bytes` to all `authenticate` methods. This allows the userland implementation to generate their own random bytes that are used for authentication hash. As a result the userland is able to implement a "two-step" authentication where the verification code is shown to the user first and then after a small delay the notification is sent to their phone.
- For standardization sake, the random_bytes can also be set manually for id-card authenticate call.