PTFM-12580 dx login improvements

- Allow up to 3 login retries
- Re-query username on empty input
- Cache username and password upon otp required message (which indicates username and password match)
- Produce a more specific error on otp mismatch
- Introduce a test case (disabled by default)

@kjlai to review
Thanks, fixed.

I wish I could say this is actually for distinguishing between this error message and the one below, but it's really just a typo :) I couldn't come up with well-sounding wording that would differentiate the two.