Fix crash when accessing an empty but hashed map

A map! internally switches to a hashed implementation if the map holds
more than a given number of items. If a map becomes empty again after
having switched over to hashing, lookups on the empty map lead to a
division by zero (in modular arithmetic), crashing the interpreter.

This commit fixes the division by zero crash by side-stepping modular
arithmetic for the special case of an empty map.

The problem was originally identified by user HostileFork on Stack
Overflow chat.

Fixes CureCode issue #1930.
Merge branch 'fix-empty-hashed-map-lookup' of https://github.com/earl/r3 into community