step size parameter for check_grad

I use finite difference approximation for checking my derivatives. However, I'm cannot use check_grad from scipy for several of those because the (fixed) step size of check_grad is too small. I propose this modification for letting the user decide whether to use the default step size or not.
This breaks backwards compatibility for all code that used ``*args``. You can only add ``step`` as ``**kwargs``.