code: function seekPath (buffer, start, target, target_start) {
    target_start = target_start || 0
    var ary = decode(target, target_start)
    if(!Array.isArray(ary)) throw new Error('path must be encoded array')
    for(var i = 0; i < ary.length; i++) {
      var string = ary[i]
      start = seekKey(buffer, start, string)
      if(start === -1) return -1
    }
    return start
  }
docs: TODO rewrite the seek methods so that there is minimal copies.