Feature Request: pandas merge - validation of expected sets
#### Validate the relationship of two DataFrames being joined in terms of set theory

Take this example:
```python
df1 = DataFrame({"col1": [1, 2, 3], "col_left": ["a", "b", "c"]})
df2 = DataFrame({"col1": [2, 3, 4], "col_right": ["d", "e", "f"]})
test = merge(
    df1,
    df2,
    on="col1",
    how="outer",
    indicator=True
)
```
I want to validate that resulting set `set(test['_merge']` will equal `{'left_only', 'right_only', 'both'}`. In other words validate that the two datasets have the expected relationship in terms of set theory when they are joined.

When the validate parameter was added to pandas I found it very useful. It reminds me a of a similar parameter seen in Stata. You can see this in the [Stata Merge Documentation.](https://www.stata.com/manuals13/dmerge.pdf) documentation.

There is another feature in the same Stata documentation that I wish to port over: `assert(results) specify required match results`. That is the intention of this Feature Request.


