API: Change matplotlib formatter registration
This PR does two things

1. Enforces the deprecation of pandas auto registering our formatters.
2. Provides a new option, "auto", which will only apply our formatters to our plots. By default, the value will be "auto".

Background: pandas used to register formatters for Period, datetime, date, and time. This formatters affected plots created using matplotlib only, not pandas. For various reasons (including import time) we don't want to do this on an `import pandas`.

A minimal change would be to just not do the registration on `import pandas`. Users would either manually do it, or pandas does it automatically when we do DataFrame.plot. The downside of pandas doing it automatically is then in the following

```
fig1 = plt.plot(x, y)
DataFrame.plot(...)  # registers formatters
fig2 = plt.plot(x, y)
```

fig1 and fig2 will be different because pandas has implicilty registered formatters.

The `auto` option will automatically register the formatters, make the plot, then deregister the formatters.

Closes https://github.com/pandas-dev/pandas/issues/18720
All green here now. Should be good to go. Thanks!