Stochastic First- and Zeroth-order Methods for Nonconvex Stochastic Programming