CLN: define .mode in terms of value_counts
we have quite a lot of code to support .mode (internally we use pretty much the same algos as ``.value_counts()``)

but unless I am not understanding isn't.

``x.mode() == x.value_counts(sort=True).index[0]`` ?

if ties, then return a slice of the result

e.g.
```
In [17]: Series([1, 1, 1, 2, 2, 2, 3]).value_counts()
Out[17]: 
2    3
1    3
3    1
dtype: int64

In [18]: Series([1, 1, 1, 2, 2, 2, 3]).mode()
Out[18]: 
0    1
1    2
dtype: int64
```
cc @TomAugspurger 