bug fix in `_ProxiedObjectTable.exitScope` : removeRange takes (start inclusive, end exclusive)

I was hitting a case where: (start = 22 , length = 38) ->
removeRange(22, 16)
RangeError: value 16 not in range 22..38
add test for inner scope exit