Add asv benchmarks for essential functions
I've jury-rigged `asv` with `coverage` to enable automatic identification of what parts of the code base are lacking `asv` benchmark coverage and found a number of essential functions on my first pass:
 - `pd.DataFrame.rename()`
 - `pd.cut()` / `pd.qcut()`
 - `.dot()`
 - Any `.plot()` method other than `line`
 - Lots of `.str` methods
 - `.corr()` and `.cov()` (we're covering the rolling version, which is a different path than full-sample)
 - `TimedeltaIndex`

There's still a lot left, but the above represents about a 20% increase in benchmark coverage compared to baseline. (This is a little bit of a hand-wavy metric, as `import`s/`def`s/etc that are normally counted towards coverage are excluded unless explicitly run inside a benchmark, leading to very low benchmark coverage metrics in the neighborhood of 10%).

- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry
