Merge pull request #4 from johnLate/master

ElfParser: fix format bugs in error messages (+ two PT_GNU_* constants)
added section types VERSYM and VERNEED
added init_array, fini_array and so on
ElfParser: replace unpack_from to avoid bytearray issue with python 2.7.3
ElfParser: GOT functions: use struct.pack/unpack
Elf/ElfParser: minor changes

Elf.py: ElfN_Ehdr.e_ident: bytearray instead of list

ElfParserLib.py: "if self.sections:"
    is more pythonic than "if self.secionts != list():"
ElfParser: refactor string extraction
Merge sqall01/ZwoELF (master) into johnLate/ZwoELF (master)
Elf: added PT_GNU_STACK + PT_GNU_RELRO to P_type

(re-apply bd58ea7c, was (accidentaly?) removed in 01e9b5be)
prepare ELF64 support: Elf32_Shdr -> ElfN_Shdr
ElfParser: move relEntry.r_info splitting into function
ElfParser: fix off-by-one in virtualMemoryAddrToFileOffset (+ refactor)

Off by one: Old version couldn't convert address of first byte within a
segment (relative address 0).
ElfParser: fix off-by-one in writeDataToFileOffset (+ refactor)
ElfParser: refactor for readability: segments/sections within segments

Also: check for segments within segments now allows same start/end.

Furthermore: Ignore PT_GNU_STACK segments.
ElfParser: fix off-by-one in fileOffsetToVirtualMemoryAddr (+ refactor)

Off by one: Old version couldn't convert address of first byte within a
segment (relative address 0).

Also: Calculation of result seemed wrong.

(Not tested, function is unused within ZwoELF and examples.)
add class ElfN_Rela; prepare r_info splitting for ELF64
convert all classes into new-style classes

https://docs.python.org/2/reference/datamodel.html#new-style-and-classic-classes
ElfParser: move printing of relocations into own function
ElfParser: printRelocations: show r_addend for ElfN_Rela