parseElf(): raise exception if buffer is to small to contain a header
ElfParser: speed up _parseDynamicSymbol()

I ran examples/readElf.py on 967 32-bit ELF binaries (max. 16 readElf
instances running at once, on an Intel i7-3770):
    real   6m29.721s
    user  47m41.090s
    sys    0m10.993s

A short test with cProfile pointed to the for loop in
_parseDynamicSymbol().  After replacing the loop:
    real   0m18.968s
    user   1m35.543s
    sys    0m 4.190s

The binaries came from /usr/bin of an old Ubuntu installation. Both
tests produced the same output.