Loads the database if available

@param cb
function(cb) {
      var t = this;
      async.waterfall(
          [
            /**
             * Reads the db.json, if it exists
             *
             * @param cb
             */
            function readDb(cb) {
              fs.exists(t.getDbFilename(), function(exists) {
                if (exists) {
                  fs.readFile(t.getDbFilename(), {encoding: "utf-8"}, cb); 
                } else {
                  cb(null, null); 
                }
              });
            },

            /**
             * Parses the db.json into db
             *
             * @param data
             * @param cb
             */
            function parseDb(data, cb) {
              if (data && data.trim().length) {
                log.debug("Parsing database");
                t.__db = jsonlint.parse(data);
              } else {
                log.debug("No database to parse");
                t.__db = {};
              }
              cb(null, t.__db);
            }
          ],

          /**
           * Done
           * @param err
           * @param result
           */
          function(err, result) {
            log.debug("loaded database: err=" + err);
            cb();
          });
    }