Merging Hashie::Mash now correctly only calls the block on duplicate values

The spec for `Hash#merge!` states:

```
Adds the contents of other_hash to hsh. If no block is specified, entries with duplicate keys are overwritten with the values from other_hash, otherwise the value of each duplicate key is determined by calling the block with the key, its value in hsh and its value in other_hash.
```

This changeset causes blocks passed to `Hashie::Mash#deep_update` to only run on duplicate keys.