use ESM, add server setup, cleanup

Change-Id: Iafac35c2082523ae98c31017d9bad5c4d6e18ef3
diff --git a/model/Account.js b/model/Account.js
index 1f70c33..46f96ed 100644
--- a/model/Account.js
+++ b/model/Account.js
@@ -1,4 +1,4 @@
-const Contact = require('./Contact')
+import Contact from './Contact.js'
 
 class Account {
     constructor(id, details, volatileDetails) {
@@ -52,6 +52,10 @@
         return this.getRegisteredName() || this.getUri()
     }
 
+    getDisplayNameNoFallback() {
+        return this.details["Account.displayName"] || this.getRegisteredName()
+    }
+
     getConversationIds() {
         return Object.keys(this.conversations)
     }
@@ -91,4 +95,4 @@
 Account.BOOL_TRUE = "true"
 Account.BOOL_FALSE = "false"
 
-module.exports = Account
+export default Account
diff --git a/model/Contact.js b/model/Contact.js
index 9d00098..8fa26b2 100644
--- a/model/Contact.js
+++ b/model/Contact.js
@@ -30,4 +30,4 @@
     }
 }
 
-module.exports = Contact;
+export default Contact
diff --git a/model/Conversation.js b/model/Conversation.js
index 22dc477..09fb76f 100644
--- a/model/Conversation.js
+++ b/model/Conversation.js
@@ -1,4 +1,4 @@
-const Contact = require('./Contact')
+import Contact from './Contact.js'
 
 class Conversation {
     constructor(id, accountId, members) {
@@ -62,4 +62,4 @@
     }
 }
 
-module.exports = Conversation;
+export default Conversation;