parse(buffer) {
    return this.parseRecursive(buffer, []);
  }
Given a buffer potentially containing
multiple packets, this parses and returns
all of them.
@param {Buffer} buffer to parse
@returns {Array.<Packet>} parsed packets