Don't unnecessarily copy the key list

`__iter__, has_key, __contains__, clear, & len` all copy the `__keys` list but don't need to. 

Minor backward compatibility change: make `__iter__` generate a runtime error if the user attempts to destructively modify the `SON` during iteration just as `dict` does and have the others directly use the internal list.