FirebaseAuthenticationService#eidFromEmail()
Firebase security rules.

While I played with FireApp, I messed my app’s security rules, so I’m
putting here to have them safe.
assert.implemented: do not take toString on interfaces into account

When a class doesn’t implement the interface, the failure message not
clear. It looks something like this:

AssertionError: expected implemented to have been called with arguments {
  INVALID_LOGIN_ERROR: "Adresa de email este incorectă",
  INVALID_PASSWORD_ERROR: "Parola este incorectă",
  LOGIN_TAKEN_ERROR: "Deja există un utlizator cu această adresă de email",
  UNKNOWN_ERROR: "A intervenit o eroare",
  authenticateUser: function () {},
  createUser: function () {},
  deleteUser: function () {},
  logout: function () {}
}

which was meant to be:

AssertionError: expected implemented to have been called with arguments AuthenticationServiceInterface

This patch allows interfaces to have a toString function which will make
the test failure message look human.
User registration use case: housekeeping
DataServiceInterface: added toString
AuthenticationServiceInterface: added #logout()