fix(tests): persistent login tests are no longer fragile

The persistent login component unit tests were failing when run close to
the border between seconds on the clock because ElggCookie::setExpiresTime
depends on the current time. I refactored to allow injecting the current
time into the persistent login component.

Fixes #6829