Fix retrieveByCredentials() to return expected type

`retrieveByCredentials()` must return either `UserInterface` or `null`, but `first()` returns boolean `false` if credentials are not found. If a boolean value is received by `Illuminate\Auth\Guard::hasValidCredentials()` an error exception is thrown.