feat(overwrites): allow overwrites

Allow overwrites by prefixing object key names with the `^` character.
Added tests and updated the README

You can still merge objects without overwriting by passing `false` as the 3rd argument to the function.