CLN/PERF: clean-up of the benchmarks
Related to https://github.com/pydata/pandas/issues/10849 (similar to https://github.com/pydata/pandas/pull/10998)

Just putting this up, was doing some time ago, but not yet fully ready, and thought to already merge this (if the content is OK) to not get too much conflicts.

Gist: removing redundancy by gathering tests in classes and sharing setup functions (you can see the diff change that it removed quite some lines of code). At the same time, I am cleaning up the test names a bit, to make them shorter/more pythonic (eg `DatetimeIndex.time_add_timedelta` instead of `time_datetimeindex_add_timedelta.time_datetimeindex_add_timedelta`). 
The only disadvantage of this cleanup is that for people who already did run the benchmarks for older versions of pandas, this will have to be redone.
