Added test for comparison, fixed behaviour of __eq__ to correctly reflec...

...t object equality.
At the moment, I'm not sure how strict == should be.  For now, I'm going to ignore the **order** of the keys and simply use keys and their values for equality checking. As an alternative to this line I'd like to propose:
```python
return all(self[key] == other[key] for key in self)
```