Add ferite_hamt_index() with tests

This function is for when the hash bits are exhausted - the case when
the hashes of two different keys collides.
Bugfix amt set and get did not handle hash collision

Upon hash bits exhaustion we use the bits from the key.

While this is not an optimal source of bits due to the non-random nature
of the ascii characters in the keys which results in non optimal use of
RAM, it should be good enough for use here under the assumption that
hash collisions are rare.
Teach ferite amt how to delete collided hash items
ferite_hamt_hash_gen(): Avoid unnecessary strlen(key)
Remove unused macro AMT_SHIFT_AND_CHECK