save from python for net surgery

0. Scheme desired parameters.
1. Do surgery on the net through `net.params['name'][idx].data[...] = `.
2. Save post-operation net params by `net.save('fname')`.

Handwoven deep nets, anyone?
define fully-convolutional imagenet model
release net surgery example from #455
[docs] contact us on webpage
Merge pull request #660 from jeffdonahue/param-propagate-down

Conditionally compute parameter gradients
Another bugfix related to my CPU/GPU test changes: make NetTest a
MultiDeviceTest (Caffe:set_mode(Caffe::CPU/GPU) isn't run without this).
[fix] adding requirements.txt for web_demo. Closes #704
move using statements inside namespace caffe to avoid polluting the whole name space.
neuron_layers.hpp should not need to include leveldb
configure Makefile for CPU-only build
stub out GPU layer methods to crash loudly in CPU-only mode
add guards to drop GPU code in CPU-only mode
collect CUDA includes and calls, separate from CPU-only mode, leave out

- collect CUDA includes in device_alternate.hpp
- add guards for CUDA code
- move GPU code into cu from cpp
- make CUDA includes and libraries conditional in Makefile
- drop CUDA dependency from travis-ci build
switch travis build to CPU-only flag, drop runtestnogpu target
relax benchmark test timing for cheap hardware / CI build
check CPU-only everything, CPU + GPU build with travis
Merge pull request #561 from shelhamer/cpu-only-build

CPU-only build

no GPU, no CUDA, no problem!
continuous integration of master build

check make

- all
- test
- lint

but not runtest or warn since they are not yet ported to master.
compute_image_mean namespace fix.
Merge pull request #716 from Yangqing/dev

Minor Code Cleaning