Fixed two pointer handling bugs in lookup_path_in_map

This patch fixes two pointer-handling bugs in lookup_path_in_map, which made MMDB_get_value(entry, &data, "country", "iso_code", NULL) fail on about 50% of IP addresses when looked up in the "Geolite2 Country" database.

Each of the failure points can be reproduced by calling the above MMDB_get_value on these two IPs: 41.205.186.171, 51.159.201.154.

The first problem was that lookup_path_in_map(), when the right key was found and the value was a pointer to a map, it would return the offset right after the pointer instead of the offset of the actual map (so that one could continue looking up things in it).

The second problem was that when lookup_path_in_map() had to skip over a pointer to a map, it would try to skip it as if it were a real map.