Adds eq method to Currency class

This PR updates the Currency class to use a deep compare.

The fact that it doesn't currently use one causes problems when pickling/depickling Money objects.  Consider this case:
```
In [1]: import pickle
In [2]: import moneyed
In [3]: mm = moneyed.Money(100,'USD')
In [4]: m_new = pickle.loads(pickle.dumps(mm))
In [5]: mm == m_new
Out[5]: False
```

It also adds unit tests