HashRange to look up or add mapping for; should be non-empty
set to true if the mapping did not exist but was added
the pointer to value mapped to by the specified range. If output value added is true, the value is unspecified and the caller should set the value as desired.
Out: The returned pointer is never null.
Looks up the mapping for non-empty range or adds one if not found