Make test_Trainer more robust
Created by: emailweixu
test_Trainer test whether the gradient of a neural net is computed correctly by comparing analytical result from backpropagation and numeric differentiation. The test reports failure if the difference is too bigger. The result depends on the random parameters and thread, sometimes it fails. This can cause confusion and delay for PR. We need to make it more robust.