use z-scores in rolling skew/kurt calculations

adds _some_ stability to rolling `skew` and `kurt` calculation by using the `z-scores` instead of original values;  related: https://github.com/pydata/pandas/issues/6929

on master:

    In [3]: np.random.seed(2718281)
    In [4]: xs = np.random.rand(10)

    In [5]: pd.stats.moments.rolling_skew(xs, 4) - pd.stats.moments.rolling_skew(xs + 5000, 4)
    Out[5]: 
    array([             nan,              nan,              nan,
            -1.64816426e-03,   1.10392004e-03,   1.09544324e-03,
             7.99253200e-03,   8.66733795e-05,  -4.48450842e-03,
            -6.03475754e-03])

    In [6]: pd.stats.moments.rolling_kurt(xs, 4) - pd.stats.moments.rolling_kurt(xs + 100, 4)
    Out[6]: 
    array([             nan,              nan,              nan,
            -1.39880824e-04,  -2.91491317e-04,  -2.35463343e-04,
            -7.36046530e-04,  -3.99141811e-04,  -8.61177376e-05,
             9.26058376e-06])

on branch:

    In [7]: pd.stats.moments.rolling_skew(xs, 4) - pd.stats.moments.rolling_skew(xs + 5000, 4)
    Out[7]: 
    array([             nan,              nan,              nan,
            -1.03450581e-12,   7.36521955e-13,   2.42605935e-12,
            -2.43799425e-12,  -1.85962357e-12,  -1.06048503e-12,
             1.66638925e-12])

    In [8]: pd.stats.moments.rolling_kurt(xs, 4) - pd.stats.moments.rolling_kurt(xs + 100, 4)
    Out[8]: 
    array([             nan,              nan,              nan,
            -1.24344979e-13,  -7.99360578e-14,   6.75015599e-14,
            -9.05941988e-14,  -5.15143483e-14,  -1.11910481e-13,
            -5.15143483e-14])


This does _not_ handle all situations that causes instability, but I think it is generally more stable to work with z-scores; In particular, affine transformations generate same results.

Also, `input` is a python 3 built-in. I suggest renaming all instances of `input` in `algo.pyx` file to `inp` or something else.