code: function deepValueGetter(obj, path) {
      if (obj == null)
          return '';
      if (!obj || !path)
          return obj;
      // check if path matches a root-level field
      // { "a.b.c": 123 }
      var current = obj[path];
      if (current !== undefined)
          return current;
      current = obj;
      var split = path.split('.');
      if (split.length) {
          for (var i = 0; i < split.length; i++) {
              current = current[split[i]];
              // if found undefined, return empty string
              if (current === undefined || current === null)
                  return '';
          }
      }
      return current;
  }
docs: Returns a deep object given a string. zoo['animal.type']
  @param {object} obj
  @param {string} path