sections may not have section headers

  instead they would necessarily have a program header
read-elf no longer requires a section table

  It is now able to construct the sections array using only the
  program-table.  This is important as it is legal for an ELF file to
  have no section-table if it is only executable and not linkable.
  Similarly the program-table is not required for linkable but not
  executable ELF files.
ignore additional ELF format documentation
re-working how sections are read and ordered

  This change was caused by the need to represent overlapping sections
  in an elf file, which was not possible in the previous implementation
  which assumed each section represented a unique range in the file.

  Documentation comments have been added to the elf class explaining the
  new structure and use of the ordering list.
including flexi-streams
writing out the new elf representation

  This can now read and write ELF files which do not have any section
  table and in which multiple sections overlap the same bytes of the
  underlying file.