WIP: fix sporadic slepian failures

This replaces the implementation for signal.slepian with one that uses a better algorithm (hat tip to nitime).  

This ought to fix #3675. 

The reason I've labeled this a work in progress is that I think the original slepian code was incorrect.  Going back to the [original source](http://www3.alcatel-lucent.com/bstj/vol57-1978/articles/bstj57-5-1371.pdf) we see that there is a missing factor of 2 in the original code. (Compare https://github.com/scipy/scipy/blob/master/scipy/signal/windows.py#L1316 with Eq. 18)   So we can keep our incorrect definition or we can break back compat and change it to something recognizable. 
``junk`` is better written as ``_``