Fix and improve multiple places about random number generation and
shuffling
Merge pull request #848 from netheril96/random

Fix and improve multiple places about random number generation and shuffling
modified test_concat_layer.cpp
Add 'snapshot_after_train' to SolverParameter to override the final
snapshot.
Add (momentum) SGD solver tests to check that learning rate, weight
decay, and momentum are implemented properly on a least squares problem.
Merge pull request #855 from jeffdonahue/sgd-solver-test

SGDSolver tests