ENH: `pivot_table` no aggregation validation
#### Is your feature request related to a problem?

`pd.pivot_table` reshapes a table and aggregates values using a `aggfunc` (default `mean`) when rows has the same `index`+`columns` values. However, it is also common to use this function to purely reshape the table without aggregation - based on the assumption that no duplicates exist in the input table. However, if the upstream data does contain duplicates the output of `pd.pivot_table` "silently" changes to an aggregation instead of a pure reshape.

This issue is a parallel issue with `pd.merge` and `1:m` "silently" converting to a `m:m` join when input tables contain duplicates.

#### Describe the solution you'd like

`pd.merge` introduced a `validate` switch which checks the inputs do not have duplicates (depending on which setting is used). I propose that `pd.pivot_table` also introduce a `validate` switch to check that the input table doesn't have duplicate rows with the same `index`+`columns` values.

#### API breaking implications

None

#### Describe alternatives you've considered

`assert df.duplicated(keys).sum() == 0`

