Fixes to improve compatibility of _Storage with dict

I've fixed a bug in _Storage, where __len__() returned the __len__ method of the wrapped class itself, rather than its result. This also makes tests of the form
```
s  = _Storage(...)
if s:
    ...
```
work properly. 
I've implemented \_\_cmp__(), viewitems(), viewkeys(), viewvalues() and has_key().  I _didn't_ implement \_\_lt__,\_\_le__,\_\_gt__, or \_\_ge__