Make initialisation of local storage

This should fix several problems
diff --git a/lib/mpin.js b/lib/mpin.js
index 70cb32c..e45be1d 100644
--- a/lib/mpin.js
+++ b/lib/mpin.js
@@ -6,9 +6,9 @@
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
- 
+
  http://www.apache.org/licenses/LICENSE-2.0
- 
+
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -55,6 +55,16 @@
     var self = this, _initUrl;
 
     this.recover();
+
+    var mpinData = this.getData();
+    if (!mpinData) {
+      mpinData = {
+        version: "4",
+        accounts: {}
+      };
+      this.storeData(mpinData);
+    }
+
     if (this.opts.server.slice(-1) === "/") {
       _initUrl = this.opts.server;
     } else {
@@ -796,15 +806,7 @@
   Mpin.prototype.setData = function (userId, upData) {
     var mpinData = this.getData();
 
-    if (!mpinData) {
-      mpinData = {
-        version: "4",
-        accounts: {}
-      };
-    }
-
     var mpinId = upData.mpinId || Users[userId].mpinId;
-
     if (!mpinId) {
       return false;
     }