Merge pull request #348 from jeffdonahue/datalayer-singleton-bugfix

Fix singleton call in data layers

Note previous crash reports were not in fact due to RNG, although they led to improvements of the RNG code.
add random_seed field to SolverParameter and have solver use it --
already works for lenet, doesn't work for imagenet w/ rand() calls
add data layer crop tests
add tests for random crop sequence -- currently both fail