define caffe.Net input preprocessing members by boost::python

define `Net.{mean, input_scale, channel_swap}` on the boost::python side
so that the members always exist. drop ugly initialization logic.
[example] add caffe to pythonpath in all examples
[example] fix example outputs

With the right input processing, the actual image classification output
is sensible.

- filter visualization example's top prediction is "tabby cat"
- net surgery fully-convolutional output map is better

Fix incorrect class names too.
[example] include prediction in classification, time on GTX 770
fix pycaffe input processing

- load an image as [0,1] single / np.float32 according to Python convention
- fix input scaling during preprocessing:
  - scale input for preprocessing by `raw_scale` e.g. to map an image
    to [0, 255] for the CaffeNet and AlexNet ImageNet models
  - scale feature space by `input_scale` after mean subtraction
  - switch examples to raw scale for ImageNet models
  - fix #525
- preserve type after resizing.
- resize 1, 3, or K channel images with special casing between
  skimage.transform (1 and 3) and scipy.ndimage (K) for speed
take array in pycaffe `Net.set_mean()` instead of file path
fix pycaffe context cropping with or without mean
drop np.asarray() in favor of declaration (~1.75x speedup)
Merge pull request #816 from shelhamer/pycaffe-labels-grayscale-attrs-examples

Improve and polish pycaffe