Overwrite by key

This seems like a generally useful merge strategy. Allows you to handle lists slightly more carefully. 
Completely agree that the key value could be anything so treating empty string specially is not right. Was just dealing with my data. How keeping what you've got and an extra option to specify a value to consider null.

Something like:
```
if match_key not in head_item or head_item[match_key] == null_match_value:
    continue
````
I don't know how normal my usecase would be, but in my case we have a large json document where small parts get filled out over time, which is why we need jsonmerge. 

Maybe another way to handle this if we didn't want to build in another option, would be to make the class more extensible so it was easier to override the continue case.