function Block(arg) {
  if (!(this instanceof Block)) {
    return new Block(arg);
  }
  _.extend(this, Block._from(arg));
  return this;
}
Instantiate a Block from a Buffer, JSON object, or Object with
the properties of the Block

@param {*} - A Buffer, JSON string, or Object
@returns {Block}
@constructor