Bugs fixed in the euclidean loss layer.

I have the following concerns
1. The backpropogated gradient is sent to only one of the bottom blobs bottom[0]. One of the bottom blobs was not getting updated in my experiments. I think it should go on both blobs.
2. Some formulations use 1/n sum over i (x_i - y_i)^2 where n is the size of x and y vectors. Can this be accommodated by using the scale parameter already present in the layer (default value 1). 
3. The euclidean loss when used in both net.prototxt and val.prototxt files would not publish any error over validation data because it does not output a measure of accuracy into a layer above it (no output layers in the network). I propose that this layer compute the error and publish it to a blob top[0] if one exists. In other words we need to define forward_cpu and forward_gpu so that the network in test mode outputs some error corresponding to this layer.

Please provide feedback on this pull request. I've not tested it for MKL though I've editted the test file. I think the gradient checker hasn't been used correctly in my version. Please let me know.