fix types of (Layer)SetUp, Reshape, Forward, and Backward calls

Using the type vector<Blob<Dtype*>* for outputs allows modification of
the vector itself, while it is only okay to modify the blobs pointed to
by the elements of the vector. Switching the types to const
vector<Blob<Dtype>*>& makes them more correct.
Merge pull request #945 from longjon/fixtypes

Fix types of SetUp, Forward, Backward, and gradient checker calls