Read `size` of bytes.

def read(self, size=None):
    """ Read `size` of bytes."""
    if size is None:
      return self.buf.read() + self.open_file.read()
    contents = self.buf.read(size)
    if len(contents) < size:
      contents += self.open_file.read(size - len(contents))
    return contents