ENH: Allow pd.merge to overwrite existing columns in the left dataset
#### Is your feature request related to a problem?

I would like to be able to use pd.merge to replace or update the columns in the left dataset if non-key columns with the same names are being merged from the right dataset.

#### Describe the solution you'd like

Add an keyword extra parameter, `duplicate_columns` to specify how common non-key variables should be handled, with the following options:

- `keep_both` The default option should be to preserve the current behaviour, i.e. create two columns with left and right suffixes.
- `replace` Keep only the columns merged from right.
- `update_left` coalesce(right, left) for each column

#### API breaking implications

None that I can see if the default behaviour is unchanged.

#### Describe alternatives you've considered

The simplest way I know to do this at present is to drop any common columns from left before merging, or keep both columns and coalesce afterwards. However, these both seem to me as though they must be very common use cases, and so perhaps it might be a good idea to allow doing this within pd.merge directly?

If this is a bad idea and there's already a very easy way to do this with pd.merge, please let me know.
