Finalize JamiSwig interface and implement account detail routes

Changes:
- Add missing methods to JamiSwig interface
- Create new stringMapToRecord and itToRecord functions
- Rename id to accountId everywhere for consistency
- Rename jamid to jamiSwig inside Jamid service for clarity
- Implement Jamid functionality:
    - getVolatileAccountDetails
    - getAccountDetails with AccountDetails interface
    - setAccountDetails
    - getDevices
    - getDefaultModerators
- Reorder and rename methods in Jamid for consistency with JamiSwig
- Implement all routes for accountRouter (GET/POST /account)
- Add various TODO comments for future work

Change-Id: Id14ddde3bc8b4484d82ad84c57384567d92bd70f
diff --git a/server/src/routers/auth-router.ts b/server/src/routers/auth-router.ts
index 2aab780..08796a7 100644
--- a/server/src/routers/auth-router.ts
+++ b/server/src/routers/auth-router.ts
@@ -56,12 +56,12 @@
     // TODO: find a way to store the password directly in Jami
     // Maybe by using the "password" field? But as I tested, it's not
     // returned when getting user infos.
-    const { accountId } = await jamid.createAccount(new Map());
+    const { accountId } = await jamid.addAccount(new Map());
 
     // TODO: understand why the password arg in this call must be empty
     const { state } = await jamid.registerUsername(accountId, username, '');
     if (state !== 0) {
-      jamid.destroyAccount(accountId);
+      jamid.removeAccount(accountId);
       if (state === 2) {
         res.status(StatusCode.BAD_REQUEST).send('Invalid username or password');
       } else if (state === 3) {
@@ -91,7 +91,7 @@
     // The account may either be:
     // 1. not found
     // 2. found but not on this instance (but I'm not sure about this)
-    const accountId = jamid.usernameToAccountId(username);
+    const accountId = jamid.getAccountIdFromUsername(username);
     if (accountId === undefined) {
       res.status(StatusCode.NOT_FOUND).send('Username not found');
       return;