'caffe test' computes and prints all scores and their names

Currently `caffe test` prints just one test output (I think whatever it first pulls out of the `std::set` of net outputs...) -- this changes it to print all the outputs and put the blob names with them, and compute the loss as well (code mostly duplicated from `solver`).  It looks like this:

```
I0825 11:58:44.750967 17817 caffe.cpp:126] Running for 5 iterations.
I0825 11:58:45.537837 17817 caffe.cpp:150] Batch 0, accuracy = 0.112
I0825 11:58:45.537922 17817 caffe.cpp:150] Batch 0, softmax_loss = 4.79346
I0825 11:58:45.537976 17817 caffe.cpp:150] Batch 0, top_10_accuracy = 0.408
I0825 11:58:45.538023 17817 caffe.cpp:150] Batch 0, top_50_accuracy = 0.684
I0825 11:58:45.538036 17817 caffe.cpp:150] Batch 0, top_5_accuracy = 0.296
I0825 11:58:46.206611 17817 caffe.cpp:150] Batch 1, accuracy = 0.14
I0825 11:58:46.206686 17817 caffe.cpp:150] Batch 1, softmax_loss = 4.79524
I0825 11:58:46.206698 17817 caffe.cpp:150] Batch 1, top_10_accuracy = 0.428
I0825 11:58:46.206715 17817 caffe.cpp:150] Batch 1, top_50_accuracy = 0.648
I0825 11:58:46.206727 17817 caffe.cpp:150] Batch 1, top_5_accuracy = 0.344
I0825 11:58:46.875533 17817 caffe.cpp:150] Batch 2, accuracy = 0.116
I0825 11:58:46.875605 17817 caffe.cpp:150] Batch 2, softmax_loss = 5.03115
I0825 11:58:46.875618 17817 caffe.cpp:150] Batch 2, top_10_accuracy = 0.372
I0825 11:58:46.875633 17817 caffe.cpp:150] Batch 2, top_50_accuracy = 0.636
I0825 11:58:46.875643 17817 caffe.cpp:150] Batch 2, top_5_accuracy = 0.312
I0825 11:58:47.544790 17817 caffe.cpp:150] Batch 3, accuracy = 0.096
I0825 11:58:47.544865 17817 caffe.cpp:150] Batch 3, softmax_loss = 4.88417
I0825 11:58:47.544879 17817 caffe.cpp:150] Batch 3, top_10_accuracy = 0.42
I0825 11:58:47.544893 17817 caffe.cpp:150] Batch 3, top_50_accuracy = 0.664
I0825 11:58:47.544905 17817 caffe.cpp:150] Batch 3, top_5_accuracy = 0.316
I0825 11:58:48.214391 17817 caffe.cpp:150] Batch 4, accuracy = 0.112
I0825 11:58:48.214468 17817 caffe.cpp:150] Batch 4, softmax_loss = 4.73312
I0825 11:58:48.214480 17817 caffe.cpp:150] Batch 4, top_10_accuracy = 0.456
I0825 11:58:48.214496 17817 caffe.cpp:150] Batch 4, top_50_accuracy = 0.692
I0825 11:58:48.214509 17817 caffe.cpp:150] Batch 4, top_5_accuracy = 0.328
I0825 11:58:48.214519 17817 caffe.cpp:155] Loss: 4.84743
I0825 11:58:48.214532 17817 caffe.cpp:167] accuracy = 0.1152
I0825 11:58:48.214550 17817 caffe.cpp:167] softmax_loss = 4.84743 (* 1 = 4.84743 loss)
I0825 11:58:48.214563 17817 caffe.cpp:167] top_10_accuracy = 0.4168
I0825 11:58:48.214576 17817 caffe.cpp:167] top_50_accuracy = 0.6648
I0825 11:58:48.214587 17817 caffe.cpp:167] top_5_accuracy = 0.3192
```