Prevent over-counting symbols with COUNT_HASH
Prevent over-counting symbols with COUNT_HASH

When counting dynamic symbols with DYNSYM_COUNT_METHODS::COUNT_HASH,
ensure that empty buckets (containing only index 0) are handled
correctly.

Additionally, optimize nb_dynsym_gnu_hash a bit - only the bucket with the
maximum symbol index needs to be walked. Finding the max, ensuring it is
non-zero, and only walking that bucket means a zero bucket will not be
walked.

Fixes #632

lief-project/LIEF,lief-project/LIEF,lief-project/LIEF,lief-project/LIEF