Assert currency equality in Money.Equals
Fix Money.GetHashCode bug

We now use both value and currency when calculating the hash code.