CLN/PERF: remove used functions; use C skip list for rolling median
removes some unused code
reverts this commit https://github.com/pydata/pandas/commit/a40226e5c4c3d29e5e2383433c5f0b94c3c0ecc1 

performance consideration

```
import pandas
import numpy
arr = numpy.random.rand(1000000)
%timeit pandas.rolling_median(arr, 1000)
```

master

```
1 loops, best of 3: 4.94 s per loop
```

branch

```
1 loops, best of 3: 821 ms per loop
```

you _may_ be able to insert `nogil` (at the top-level), and make almost all of `skiplist.pyx` `nogil` (obviously where you raise you have re-acquire).
 ```
In [2]: import pandas
import numpy
arr = numpy.random.rand(1000000)

In [4]: from pandas.util import testing

In [5]: @testing.test_parallel(2)
def g():
    pandas.rolling_median(arr, 1000)
   ...:     

In [6]: @testing.test_parallel(1)
def f():
    pandas.rolling_median(arr, 1000)


In [7]: %timeit f()
1 loops, best of 3: 752 ms per loop


In [8]: %timeit g()
1 loops, best of 3: 972 ms per loop
```
 can you add an asv benchmark? not sure we have much for rolling in general......
 OK.  might as well release the GIL on roll_*
 yep - same or another
 Added asv benchmarks for the gil release.  But I can't get any of those to show in asv bench at all.  Have I written the tests incorrectly?
I do `asv continuous upstream/master HEAD -b gil` while on my branch.

A simple `timeit` does show the improvement, e.g.
for `rolling_mean`

```
import pandas
import numpy
from pandas.util.testing import test_parallel
arr = numpy.random.rand(1000000)
@test_parallel(num_threads=2)
def f():
     pandas.rolling_mean(arr, 100)
%timeit f()
```

branch

```
100 loops, best of 3: 12.5 ms per loop
```

master 

```
10 loops, best of 3: 19.5 ms per loop
```

for `rolling_kurt`
branch 

```
10 loops, best of 3: 65.5 ms per loop
```

master

```
10 loops, best of 3: 98.8 ms per loop
```

the `time_rolling_median` in `stat_ops.py` shows the same 5x improvement I get using `timeit`.
 thanks!
