Improve and polish pycaffe

- fix input preprocessing configuration in 3cac223 picking up on #733
- update examples' outputs given correct preprocessing 9d7346b, always include caffe pythonpath 45d74bd, and reword classification + time on a gtx 770 fc01ee6
- add console output with human-readable labels and a grayscale flag to classify.py courtesy of @petewarden's #735
- fix #525 by scaling data to [0, 255], doing mean subtraction, and then input scaling
I see... we should at least make this code less circuitous, but also think about if this is really what we want to do here. Currently we are enforcing the convention that outputs are in id-sorted order, although this is not necessary and sometimes other conventions (e.g., alphabetical order) are used.

Another option would be to have the label file simply list the outputs in order (removing the first column from `mnist_words.txt`), which would simplify this code, remove this hidden assumption, and make it simple to (e.g.) include the synset ids in the label output. A third option would be to make the map between integer outputs and labels always explicit (adding another column to `synset_words.txt`), thus allowing labels to be written out-of-order, but still removing the hidden assumption.

What do y'all think?